1
resposta

Meu código aponta os erros mas não indica visualmente.

Quando inseri o strictNullCheck no tsconfig.json, o terminal aponto vários erros no código como esperado, porém não foi apontado no código em si com aquele típico sublinhado vermelho, alguém sabe alguma forma de resolver e tornar mais visuais os erros?

1 resposta

Oi, Lorenzo! Como vai?

Acredito que o que está acontecendo aí tem mais a ver com o VS Code do que com o seu código. Quando você liga o strictNullChecks, o terminal já mostra os erros, o que é ótimo. Mas pra eles aparecerem direto no editor com aquele sublinhado vermelho, o VS Code precisa estar reconhecendo certinho o TypeScript do projeto.

Tenta dar uma olhada se ele está usando a versão local do TypeScript. Dá pra ver isso abrindo a paleta de comandos (Ctrl+Shift+P) e procurando por "Select TypeScript Version". Se aparecer a opção "Use Workspace Version", clica nela.

Outra coisa que pode ajudar é reiniciar o servidor do TypeScript no próprio VS Code. Às vezes ele dá uma travada e para de mostrar os erros visuais. Também dá pra fazer isso com Ctrl+Shift+P, digitando "Restart TS server".

Ah, e confere se o tsconfig.json tá certinho e se os arquivos .ts que você está editando estão mesmo dentro da pasta que ele tá incluindo. Um include mal configurado pode fazer o VS Code nem enxergar o que tá fora.

Veja esse exemplo aqui com strictNullChecks ativado:


let nome: string | null = null;
console.log(nome.length); // erro: Object is possibly 'null'

Nesse caso, com a configuração funcionando, o VS Code já vai sublinhar essa linha.

Ícone de sugestão Para saber mais:

Sugestão de extensões que pode te ajudar :

  • TypeScript Hero - Facilita bastante a navegação e organização do código TypeScript, e ajuda a reforçar o suporte a erros e sugestões no editor. Funciona bem junto do TS Server.
  • Error Lens - Essa aqui é ótima. Ela exibe os erros e warnings direto no código, como *overlay*, além de destacar melhor com cores. É útil pra deixar os erros visíveis sem precisar abrir o painel de problema

Espero ter ajudado! Bons estudos!

Sucesso