3.2 KiB
3.2 KiB
Setup
- Clone microsoft/vscode
- Run
npm i
at/
, this will install- Dependencies for
/extension/json-language-features/
- Dependencies for
/extension/json-language-features/server/
- devDependencies such as
gulp
- Dependencies for
- Open
/extensions/json-language-features/
as the workspace in VS Code - In
/extensions/json-language-features/
runnpm run compile
(ornpm run watch
) to build the client and server - Run the
Launch Extension
debug target in the Debug View. This will:- Launch a new VS Code instance with the
json-language-features
extension loaded
- Launch a new VS Code instance with the
- Open a
.json
file to activate the extension. The extension will start the JSON language server process. - Add
"json.trace.server": "verbose"
to the settings to observe the communication between client and server in theJSON Language Server
output. - Debug the extension and the language server client by setting breakpoints in
json-language-features/client/
- Debug the language server process by using
Attach to Node Process
command in the VS Code window opened onjson-language-features
.- Pick the process that contains
jsonServerMain
in the command line. Hover overcode-insiders
respcode
processes to see the full process command line. - Set breakpoints in
json-language-features/server/
- Pick the process that contains
- Run
Reload Window
command in the launched instance to reload the extension
Contribute to vscode-json-languageservice
microsoft/vscode-json-languageservice is the library that implements the language smarts for JSON. The JSON language server forwards most the of requests to the service library. If you want to fix JSON issues or make improvements, you should make changes at microsoft/vscode-json-languageservice.
However, within this extension, you can run a development version of vscode-json-languageservice
to debug code or test language features interactively:
Linking vscode-json-languageservice
in json-language-features/server/
- Clone microsoft/vscode-json-languageservice
- Run
npm i
invscode-json-languageservice
- Run
npm link
invscode-json-languageservice
. This will compile and linkvscode-json-languageservice
- In
json-language-features/server/
, runnpm link vscode-json-languageservice
Testing the development version of vscode-json-languageservice
- Open both
vscode-json-languageservice
and this extension in two windows or with a single window with themulti-root workspace feature. - Run
npm run watch
atjson-languagefeatures/server/
to recompile this extension with the linked version ofvscode-json-languageservice
- Make some changes in
vscode-json-languageservice
- Now when you run
Launch Extension
debug target, the launched instance will use your development version ofvscode-json-languageservice
. You can interactively test the language features.