{"id":51338423,"url":"https://github.com/samdidos/vscode-json-schema-preview","last_synced_at":"2026-07-02T05:01:27.568Z","repository":{"id":365812782,"uuid":"918863781","full_name":"samdidos/vscode-json-schema-preview","owner":"samdidos","description":"Visualise, validate \u0026 edit schemas in VS Code","archived":false,"fork":false,"pushed_at":"2026-06-27T03:59:45.000Z","size":6778,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-27T04:15:58.859Z","etag":null,"topics":["json","json-schema","vscode","vscode-extension","yaml"],"latest_commit_sha":null,"homepage":"https://samdidos.github.io/vscode-json-schema-preview/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samdidos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-19T04:00:13.000Z","updated_at":"2026-06-27T03:11:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/samdidos/vscode-json-schema-preview","commit_stats":null,"previous_names":["samdidos/vscode-json-schema-preview"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/samdidos/vscode-json-schema-preview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdidos%2Fvscode-json-schema-preview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdidos%2Fvscode-json-schema-preview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdidos%2Fvscode-json-schema-preview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdidos%2Fvscode-json-schema-preview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samdidos","download_url":"https://codeload.github.com/samdidos/vscode-json-schema-preview/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samdidos%2Fvscode-json-schema-preview/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35033492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","json-schema","vscode","vscode-extension","yaml"],"created_at":"2026-07-02T05:01:10.160Z","updated_at":"2026-07-02T05:01:27.562Z","avatar_url":"https://github.com/samdidos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JSON Schema Preview\n\n[![VS Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/samdidos.json-schema-preview?label=VS%20Marketplace\u0026logo=visual-studio-code\u0026logoColor=white\u0026color=0065A9)](https://marketplace.visualstudio.com/items?itemName=samdidos.json-schema-preview)\n[![Installs](https://img.shields.io/visual-studio-marketplace/i/samdidos.json-schema-preview?logo=visual-studio-code\u0026logoColor=white)](https://marketplace.visualstudio.com/items?itemName=samdidos.json-schema-preview)\n[![Rating](https://img.shields.io/visual-studio-marketplace/r/samdidos.json-schema-preview?logo=visual-studio-code\u0026logoColor=white)](https://marketplace.visualstudio.com/items?itemName=samdidos.json-schema-preview)\n[![CI](https://img.shields.io/github/actions/workflow/status/samdidos/vscode-json-schema-preview/ci.yml?label=CI\u0026logo=github)](https://github.com/samdidos/vscode-json-schema-preview/actions/workflows/ci.yml)\n[![Docs](https://img.shields.io/github/actions/workflow/status/samdidos/vscode-json-schema-preview/docs.yml?label=docs\u0026logo=github)](https://samdidos.github.io/vscode-json-schema-preview/)\n[![Coverage](https://img.shields.io/badge/coverage-84.2%25-brightgreen)](https://github.com/samdidos/vscode-json-schema-preview/actions/workflows/ci.yml)\n[![Dependabot](https://img.shields.io/badge/Dependabot-enabled-0366d6?logo=dependabot)](https://github.com/samdidos/vscode-json-schema-preview/blob/main/.github/dependabot.yml)\n[![VS Code Engine](https://img.shields.io/badge/VS%20Code-%5E1.125.0-blue?logo=visual-studio-code\u0026logoColor=white)](https://code.visualstudio.com/)\n[![Node](https://img.shields.io/badge/node-%3E%3D22-brightgreen?logo=node.js\u0026logoColor=white)](https://nodejs.org/)\n[![CodeQL](https://img.shields.io/github/actions/workflow/status/samdidos/vscode-json-schema-preview/codeql.yml?label=CodeQL\u0026logo=github)](https://github.com/samdidos/vscode-json-schema-preview/actions/workflows/codeql.yml)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/samdidos/vscode-json-schema-preview/badge)](https://securityscorecards.dev/viewer/?uri=github.com/samdidos/vscode-json-schema-preview)\n[![SLSA Level 2](https://img.shields.io/badge/SLSA-Level%202-green)](https://slsa.dev)\n[![Mutation tested with Stryker](https://img.shields.io/badge/mutation%20tested-Stryker-%23E74C3C)](https://stryker-mutator.io)\n[![Maintained with Knip](https://img.shields.io/badge/maintained%20with-knip-%23F56E0F)](https://knip.dev)\n[![Tested with fast-check](https://img.shields.io/badge/tested%20with-fast--check-%23282661)](https://fast-check.dev)\n[![TypeScript Strict](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org)\n[![Code style: Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?logo=prettier\u0026logoColor=white)](https://prettier.io)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/samdidos/vscode-json-schema-preview/blob/main/CONTRIBUTING.md)\n[![GitHub release](https://img.shields.io/github/v/release/samdidos/vscode-json-schema-preview?logo=github\u0026label=release)](https://github.com/samdidos/vscode-json-schema-preview/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/samdidos/vscode-json-schema-preview/blob/main/LICENSE.md)\n\n**Preview, validate, and work with JSON Schemas — including private ones — right inside VS Code.**\n\nRenders schemas as clean HTML documentation. Validates JSON and YAML data files inline. Handles schemas behind authentication (GitHub private repos, Artifactory, any HTTP endpoint) with zero friction.\n\n---\n\n## Features\n\n| | |\n|---|---|\n| **Preview** | Renders any JSON/YAML schema as navigable HTML documentation in a side panel |\n| **Edit visually** | Edit common JSON Schema keywords through a form UI — no raw JSON |\n| **Validate** | Validates data files against a bound schema with inline error highlighting |\n| **Bind schemas** | Link a data file to a schema (workspace or user scope) for validation \u0026 IntelliSense |\n| **Authenticate** | Fetches schemas from private endpoints using GitHub OAuth or stored tokens |\n| **Cache locally** | Downloads authenticated schemas once so VS Code's language server uses them too |\n| **Infer schemas** | Generates a draft schema from any existing data file |\n| **Live reload** | Preview refreshes as you type |\n\n\u003e Supports JSON, YAML, JSONC, and JSONL formats\n\n---\n\n## Getting Started\n\n### Prerequisites\n\nPython 3 on your `PATH`. The extension installs [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on first use via `pip` — nothing else needed.\n\n### Preview a schema\n\nOpen any file with a `$schema` field. Click the **Preview** button in the editor title bar, or run **JSON Schema: Preview** from the Command Palette.\n\n### Validate a data file\n\nBind a schema via the **Bind Schema** icon in the title bar (or right-click in the explorer), then run **JSON Schema: Validate This File**. Errors appear in the Problems panel. If the file already has a `$schema` field, validation uses it automatically — no binding required.\n\n---\n\n## Private and Authenticated Schemas\n\nWhen a schema is behind authentication, VS Code's language server gets a 401, draws a red squiggle, and IntelliSense goes dark. This extension fixes that.\n\n### Setup\n\n**GitHub private repos** — uses your existing VS Code GitHub session. Run **JSON Schema: Configure Schema Authentication…** and select *Sign in with GitHub*. Nothing to paste.\n\n**Artifactory / any HTTPS endpoint** — same command, choose *Bearer token* or *Basic auth*. Credentials are stored in your OS keychain via VS Code's Secret Storage API.\n\n### Discovery paths\n\nYou don't need to hunt for the command. Authentication setup is surfaced wherever the problem appears:\n\n- **Lightbulb on the `$schema` line** — when VS Code can't load the schema, a code action appears directly on the problem line\n- **Validate command** — if fetching the schema returns a 401/403, the error message has a *Configure Auth* button\n- **Status bar** — a `🔒` / `🔓` indicator shows auth status for the current file's schema; click it to configure\n\n### Eliminating the red squiggle (Option 4)\n\nAfter configuring auth, you can cache the schema to a local file. The extension rewrites the `json.schemas` / `yaml.schemas` entry to point at the local copy — so the built-in JSON language server and the Red Hat YAML extension both read it successfully. The squiggle disappears and IntelliSense works.\n\nThe lightbulb offers **Cache schema locally** directly, or you can run **JSON Schema: Cache Schema Locally** from the palette. Refresh the cache any time with **JSON Schema: Refresh Schema Cache**.\n\n---\n\n## Commands\n\n| Command | Description |\n|---|---|\n| **JSON Schema: Preview** | Open the documentation panel |\n| **JSON Schema: Edit (visual)** | Edit schema properties in a form UI |\n| **JSON Schema: Bind Schema…** | Bind a schema to the current data file |\n| **JSON Schema: Validate This File** | Validate against the bound (or inline) schema |\n| **JSON Schema: Generate Schema from This File** | Infer a schema from existing data |\n| **JSON Schema: Configure Schema Authentication…** | Set up credentials for a remote host |\n| **JSON Schema: Cache Schema Locally** | Download with auth and redirect the language server |\n| **JSON Schema: Refresh Schema Cache** | Re-download a previously cached schema |\n| **JSON Schema: Configure Preview** | Adjust rendering options |\n| **JSON Schema: Open Config File** | Open `.json-schema-preview-config.json` |\n\n---\n\n## Configuration\n\n| Setting | Default | Description |\n|---|---|---|\n| `jsonschema.preview.autoOpen` | `false` | Open preview automatically when a schema file is activated |\n| `jsonschema.preview.liveUpdate` | `false` | Refresh preview while typing |\n| `jsonschema.preview.liveUpdateDelay` | `1500` | Debounce delay in ms |\n\nDrop a `.json-schema-preview-config.json` in your workspace root to customise the renderer — all [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) options are supported, including alternative templates.\n\n---\n\n## Schema Binding Scopes\n\n| Scope | Stored in | Lifetime |\n|---|---|---|\n| Workspace file | `.code-workspace` file | Committed with repo (multi-root workspaces only) |\n| Workspace folder | `.vscode/settings.json` | Committed with the repo |\n| User | User `settings.json` | All workspaces on this machine |\n\n---\n\n## Credits\n\nRendering powered by [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdidos%2Fvscode-json-schema-preview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamdidos%2Fvscode-json-schema-preview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdidos%2Fvscode-json-schema-preview/lists"}