2.9 KiB
2.9 KiB
Setup
- Clone microsoft/vscode
- Run
yarn
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 - Run the
Launch Extension
debug target in the Debug View. This will:- Launch the
preLaunchTask
task to compile the extension - Launch a new VS Code instance with the
json-language-features
extension loaded - You should see a notification saying the development version of
json-language-features
overwrites the bundled version ofjson-language-features
- Launch 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. - Debug the language server process by using
Attach to Node Process
command in the VS Code window opened onjson-language-features
- 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 install
invscode-json-languageservice
- Run
npm link
invscode-json-languageservice
. This will compile and linkvscode-json-languageservice
- In
json-language-features/server/
, runyarn link vscode-json-languageservice
Testing the development version of vscode-json-languageservice
- Open both
vscode-json-languageservice
and this extension in a single workspace with multi-root workspace feature - Run
yarn 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.