Skip to content

Extensão VS Code

TIP

Esta página é para quem contribui com a extensão Oxc para VS Code. Para baixar a extensão, veja o Visual Studio Marketplace ou o Open VSX Registry.

Desenvolvimento

Clone o repositório oxc-vscode e rode pnpm install.

Build e execução local

Há duas formas de rodar e testar mudanças na extensão.

Pela linha de comando:

  • Rode pnpm build para compilar a extensão e gerar a versão release do language server.
  • Rode pnpm install-extension para instalar no VS Code.
  • Pressione Ctrl + Shift + P e busque "Developer: Reload Window".
  • Agora você pode testar manualmente dentro do VS Code.

Pelo próprio VS Code:

  • Abra o repositório oxc-vscode no VS Code.
  • Vá na aba "Run and Debug" na barra lateral.
  • Selecione a configuração Launch VS Code Extension.
  • Clique no botão verde de play no topo.
  • Isso compila a extensão e abre uma nova janela do VS Code com a extensão recém-gerada.

Testar versões não lançadas do oxlint/oxfmt

Faça o build no projeto oxc com:

bash
cd apps/oxlint && pnpm build-test
cd ../oxfmt && pnpm build-test

Depois aponte a extensão para o build local nas configurações em settings.json:

json
{
  "oxc.path.oxlint": "/path/to/oxc/apps/oxlint/dist/cli.js",
  "oxc.path.oxfmt": "/path/to/oxc/apps/oxfmt/dist/cli.js"
}

Usar o canal de saída

Para ver o que a extensão e o language server estão fazendo, use o canal de saída Oxc no VS Code. Para mais detalhes, ative nas configurações da extensão:

json
{
  "oxc.trace.server": "verbose"
}

Na integração LSP do oxlint/oxfmt (por exemplo no crate oxc_language_server), você pode usar as macros info! ou error! para enviar mensagens ao canal Oxc.

Escrever um teste

Conforme o que mudou, crie um teste. Testes só na extensão VS Code quando forem específicos do VS Code. Testes de comunicação LSP com as ferramentas vão no oxlint/oxfmt ou no crate Rust oxc_language_server.

Exemplos:

  • VS Code: mudanças na barra de status
  • oxlint: diagnósticos / code actions retornados
  • oxc_language_server: problemas do workspace