{"id":19099115,"url":"https://github.com/swagger-api/apidom-lsp-vscode","last_synced_at":"2025-04-30T15:43:32.489Z","repository":{"id":50695667,"uuid":"517737336","full_name":"swagger-api/apidom-lsp-vscode","owner":"swagger-api","description":"ApiDOM VS Code Extension","archived":false,"fork":false,"pushed_at":"2023-08-25T23:59:29.000Z","size":37600,"stargazers_count":5,"open_issues_count":10,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-30T15:43:25.397Z","etag":null,"topics":["apidom","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swagger-api.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-25T16:18:03.000Z","updated_at":"2023-11-13T03:56:00.000Z","dependencies_parsed_at":"2025-04-18T17:06:02.925Z","dependency_job_id":null,"html_url":"https://github.com/swagger-api/apidom-lsp-vscode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swagger-api%2Fapidom-lsp-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swagger-api%2Fapidom-lsp-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swagger-api%2Fapidom-lsp-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swagger-api%2Fapidom-lsp-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swagger-api","download_url":"https://codeload.github.com/swagger-api/apidom-lsp-vscode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251733885,"owners_count":21635038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apidom","vscode","vscode-extension"],"created_at":"2024-11-09T03:48:40.968Z","updated_at":"2025-04-30T15:43:32.446Z","avatar_url":"https://github.com/swagger-api.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ApiDOM VS Code Extension\n\n## Functionality\n\nThis extension is based on [ApiDOM](https://github.com/swagger-api/apidom) and provides the following:\n\n* Rich editor for multiple languages, currently supporting [OpenAPI](https://www.openapis.org/), [AsyncAPI](https://www.asyncapi.com/), [API Design Systems](https://apidesign.systems/):\n  - documentation\n  - validation\n  - linting (custom rules)\n  - navigation\n  - completion\n  - semantic syntax highlighting\n\n* Preview pane for API specification documents\n\n\n## Structure\n\n```\n.\n├── bin/apidom-lsp-vscode-${version}.vsix // packaged extension ready for installation in VS Code\n├── client // VS Code Language Client + Extension\n│   ├── src\n│   │   ├── test // End to End tests for Language Client / Server\n│   │   └── extension.ts // Language Client entry point\n├── package.json // The extension manifest.\n└── server // Language Server\n    └── src\n        ├── test // LSP Server tests\n        └── server.ts // Language Server entry point, uses apidom-ls\n```\n\n## Try it out\n\nThe extension can be [installed](https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix) from the `VSIX` file located in [bin](./bin) directory\n\nOnce installation is finished, open any [OpenAPI](https://www.openapis.org/), [AsyncAPI](https://www.asyncapi.com/) or [API Design Systems](https://apidesign.systems/) document in VS Code.\n\n\n\n## Getting started\n\nSome of npm packages that this extension depends on are currently hosted on [GitHub packages registry](https://docs.github.com/en/packages/learn-github-packages/introduction-to-github-packages).\nFor more information about installing npm packages from GitHub packages registry please visit [Installing a package](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#installing-a-package)\nsection in their documentation.\n\n### Clone the GitHub repository\n\n```sh\n $ git clone https://github.com/swagger-api/apidom-lsp-vscode.git\n $ cd apidom-lsp-vscode\n```\n\n### Prerequisites\n\n[Node.js](https://nodejs.org/) \u003e= 16.13.2 and `npm \u003e= 8.1.02` are the minimum required versions that this repo runs on.\nWe recommend using the latest version of Node.js@16 though. We're using [node-gyp](https://www.npmjs.com/package/node-gyp) to build some fragments that require [Python 3.x](https://www.python.org/downloads/).\n[emscripten](https://emscripten.org/docs/getting_started/downloads.html) or [docker](https://www.docker.com/) needs to be installed\non your operating system. We strongly recommend going with a docker option.\n[VS Code IDE](https://code.visualstudio.com/) needs to be installed on your system.\n\n### Installation\n\n```shell\n $ npm install\n $ npm run build\n```\n\n### Run VS Code extension in VSCode instance\n\n- Open VS Code\n- Open this repository in VS Code: `File` -\u003e `Open Folder`\n- From `Activity Bar`, click on `Run and Debug` icon\n- Select `Launch Client` from the dropdown menu\n- Run the launch config by clicking on small green play button\n- If you want to debug the server as well use the launch configuration `Attach to Server`\n- New VS Code window will open where ApiDOM VS Code Extension is loaded in\n- Create new text file: `File` -\u003e `New Text File`\n- Start writing your specification document (OpenAPI, AsyncAPI, API Design Systems)\n\n### Specification preview\n\nYou can preview your specification document by right mouse click -\u003e `Command Pallete` -\u003e `Show Preview using SwaggerUI`.\nThe pane with rendered specification document is opened and re-rendered whenever you edit the\nspecification document.\n\n### Test Server component\n\n```sh\n $ npm run test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswagger-api%2Fapidom-lsp-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswagger-api%2Fapidom-lsp-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswagger-api%2Fapidom-lsp-vscode/lists"}