Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Ajuda com o intellisense / autocomplete e React

Boas malta! o/

Já procurei aqui no fórum e também em outros lugares porém não encontro nada que me ajude.

Ao assistir a aula, vi que o professor possui sugestões de autocomplete que não consigo fazer aparecerem em meu vscode:

Não faz o autocomplete dos atributos html (tags é feito normalmente): Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E também não faz autocomplete dos atributos react, na imagem abaixo tentei utilizar o className:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

(Obs: Não me refiro as abreviações emmet, pra mim está funcionando normal)

Alguma alma caridosa o suficiente para me ajudar a desvendar este mistério? Obrigado! :)

3 respostas

Salve, Renan!

Da uma olhada no seu VSCode:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Aqui onde marquei o círculo vermelho, precisa estar indicando JavaScript JSX. Se não estiver, você pode clicar e modificar ;)

Opa Vinicios!

Tentei fazer essa alteração, porém ainda assim não funcionou.

Tentei também alterar a extensão do arquivo de .js para .jsx sem sucesso.

Uma curiosidade, tenho outro projeto em React Next, com typescript, e o intellisense funciona normalmente. Apenas nos projetos puramente React ele deixa de funcionar.

Abaixo um print do meu settings.json

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Boas! Finalmente consegui descobrir o problema! \o/

Criei o aquivo jsconfig.json na raíz do meu projeto com o seguinte código:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "ES6"
  },
  "exclude": ["node_modules"]
}

Agora o intellisense funciona normalmente.

Só mais algumas dúvidas:

  1. É possível incluir essa configuração de modo global no vscode ou para cada projeto React tenho de criar o arquivo jsconfig.json novamente?

  2. O target está definido como ES6, seria ideal alterar para a versão mais recente do ECMAScript? Caso sim, teria de fazer algum update nos arquivos do projeto ou é feito nativamente no navegador?

Muito obrigado pela disponibilidade! :)