Geração de diagnósticos
Atualmente, os diagnósticos do código fonte são todos gerados utilizando o
ESlint e o plugin
ESLint Stylistic.
Para tanto, é preciso que o desenvolvedor possua em sua máquina o pacote @stylistic/eslint-plugin
instalado globalmente e ESLint instalado globalmente ou em um pacote node aberto no workspace.
A extensão suporta o ESLint a partir da versão 9 e utiliza o formato de configuração flat. Para migrar de uma versão anterior para a 9, confira o manual de migração do ESLint 9 e o manual de migração para flat config.
Configurando
O language server utiliza internamente uma própria configuração base já adequada para o uso
geral em arquivos da VFS, sendo possível utilizar um arquivo eslint.config.js
na raiz da VFS para
customizar essa configuração. A mesma configuração é aplicada aos scratchpads
como se eles
fossem arquivos na raiz da VFS.
A configuração na VFS é automaticamente estendida pela configuração base da extensão, e já inclui o
plugin @stylistic/eslint-plugin
com algumas regras recomendadas. Para ajustar as regras do plugin
a partir do arquivo de configuração da VFS, basta utilizar o prefixo @stylistic/
nestas regras.
Abaixo o exemplo de um eslint.config.js
a ser inserido na VFS:
module.exports = [
{
files: ['*'],
languageOptions: {
globals: {
Connection: 'writable'
}
},
rules: {
'no-debugger': 'error',
'@stylistic/max-len': ['warn', { code: 120, tabWidth: 4 }]
}
}
];
Caso o arquivo eslint.config.js
seja modificado, o VS Code precisa ser reiniciado para que a
nova configuração seja carregada.
Observação: o antigo formato utilizando arquivos eslintrc
não é mais suportado pela extensão.
Quaisquer arquivos eslintrc
na VFS serão ignorados.
Mais detalhes na documentação de configuração do ESLint.
Corrigindo problemas
Alguns dos problemas detectados podem ser automaticamente corrigidos por meio
de ações de código disponibilizadas pela extensão. Essas ações podem ser acessadas
descansando o cursor sobre o problema no código, usando o atalho ctrl + .
,
ou através do menu de contexto da aba de problemas no terminal.
Existem três tipos de correção:
- Correção individual, em que apenas o problema selecionado é corrigido;
- Correção de problemas de mesma regra, em que todos os problemas no código que compartilham a mesma regra do problema selecionado são corrigidos;
- Correção de problemas de mesma fonte, em que todos os problemas de uma determinada fonte geradora de diagnósticos são corrigidos (atualmente a única fonte é o ESLint).
Exemplos de correções automáticas:
Utilização de plugins
O funcionamento do flat config permite o uso de outros plugins no eslint.config.js
da VFS.
O desenvolvedor deve possuir o mesmo plugin instalado globalmente em sua máquina para conseguir
usar o ESLint na VFS correspondente sem gerar erros, e não será avisado pela extensão sobre a
necessidade de instalação de um plugin configurado dessa maneira.
A extensão suporta oficialmente apenas o plugin @stylistic/eslint-plugin
, já presente na
configuração base. A compatibilidade com outros plugins não é garantida e deve ser verificada
pelo responsável por configurar o ESLint na VFS.