VSCode Extension
Development
Make sure you setup the oxc
project with just init
. Some tools are required for that. More information inside the justfile
located on the root oxc
project.
After just init
run pnpm install
inside editors/vscode
directory.
Building Extension and Installing it locally
Inside editors/vscode
run pnpm build
to compile the vscode extension and build the release version of the language server. Run pnpm install-extension
to install it on your VSCode Editor. Hit CTRL
+ SHIFT
+ P
and the search for "Developer: Reload Window". You are able now to manual test your changes inside VSCode.
Building Debug Version of Server
Running pnpm build
will build the release version of the server, This can take some time. If you want faster feedback use the follow flow:
pnpm compile # transform TS Code
pnpm server:build:debug # build the debug version of the language server
pnpm package # package it as VSCode Extension
pnpm install-extension
Make sure to tell the VSCode Extension to use the debug build with the env variable: SERVER_PATH_DEV="/workspace/editors/vscode/target/debug/oxc_language_server"
.
Or use the Extension Settings with settings.json
:
{
"oxc.path.server": "./editors/vscode/target/debug/oxc_language_server"
}
For Windows, the oxc_language_server
will be provided with a exe
extension.
Use the Output Channel
To understand what the Extension and the Language Server is doing, you can use the Oxc
Output Channel inside VSCode. The get more information use the Extension Setting inside settings.json
:
{
"oxc.trace.server": "verbose"
}
On oxc_language_server
you can use the info!
or error!
macro to send messages to the output channel.
Writing a Test
Depending on the changes, you should create a Test for it. Tests on the oxc_language_server
will make sure the (Server)Linter works as expected. Write Tests in vscode
when you want to test changing behavior. Example: expecting a lint fix to be applied, when executing a command or code action.