Skip to content

Problemas de TypeScript

Girelli edited this page Dec 2, 2025 · 1 revision

Este documento aborda como lidar e relatar problemas com o suporte integrado a JavaScript e TypeScript do NP Sharp.

Problema de relatório

Veja como relatar um relatório de problemas do TypeScript de alta qualidade. Siga também nosso guia geral de relatórios de problemas.

  1. Descubra se o problema está no próprio TypeScript ou no suporte TypeScript do NP Sharp

    Se o problema for sobre o próprio TypeScript, ele deverá ser relatado diretamente no TypeScript. Exemplos de problemas do TypeScript incluem:

    • Problemas com verificação de tipo
    • Problemas com o IntelliSense que não funciona conforme esperado em JavaScript ou TypeScript
    • Problemas com a compilação do TypeScript
    • Dúvidas sobre como usar TypeScript

    Se o problema for sobre o suporte a JavaScript e TypeScript do NP Sharp, continue em

  2. Verifique as causas mais comuns de problemas e falhas

    A maioria dos problemas e travamentos do TypeScript são causados por alguns problemas comuns

  3. Para problemas de ferramentas, forneça etapas claras para reproduzir o problema

    Descreva claramente o problema e forneça etapas simples para reproduzi-lo. Certifique-se de incluir todo o código relevante necessário para investigar o problema. Se o seu código for complexo ou extenso, tente reduzir o exemplo à quantidade mínima de código possível.

  4. Para falhas, forneça o log de falhas do TypeScript

    Consulte Coletando logs de travamento para obter etapas sobre como coletar os logs do servidor travado. Certifique-se de anexar esses registros ao seu relatório de problemas

Para sugestões e orientações adicionais, consulte nosso guia geral de relatórios de problemas

Causas mais comuns de problemas

  • Extensões e plugins
  • [Versão TypeScript desatualizada](#versão TypeScript desatualizada)
  • [Uso de memória](#uso de memória)

Extensões e plug-ins

As extensões podem modificar o comportamento do serviço TypeScript integrado do NP Sharp. Isso é comumente usado para adicionar recursos de ferramentas especializadas ou oferecer suporte a diferentes sintaxes, como Vue.

No entanto, essas extensões também são a principal causa de instabilidade no suporte integrado a JavaScript e TypeScript do NP Sharp. Se você estiver enfrentando travamentos ou outros problemas, sempre tente primeiro desativar todas as extensões ou use iniciar extensão ao meio por meio de "F1 > Iniciar extensão ao meio". Se você descobrir que o problema é causado por uma extensão instalada, registre um problema na extensão.

Além disso, se você estiver usando uma versão de espaço de trabalho do TypeScript, tente também desabilitar quaisquer plug-ins locais escolhidos por seu tsconfig ou jsconfig

Versão TypeScript desatualizada

A versão mais recente do NP Sharp normalmente inclui a versão TypeScript estável mais recente. Se você disse ao NP Sharp para usar sua versão de espaço de trabalho do TypeScript, você pode estar usando uma versão mais antiga que possui bugs que já foram corrigidos.

Antes de relatar um problema, certifique-se de que sua versão do Typescript esteja atualizada:

  • Certifique-se de que sua versão do NP Sharp esteja totalmente atualizada.

  • Certifique-se de estar usando a versão do TypeScript do NP Sharp (ou uma nova versão). Com um arquivo JavaScript ou TypeScript aberto, execute o comando TypeScript: Select TypeScript version. Confirme se Usar versão do NP Sharp está selecionado

Uso de memória

Para projetos grandes ou especialmente complexos, é possível que o servidor TypeScript fique sem memória, o que pode causar falha no serviço. Você pode verificar o uso de memória usando o process explorer

Se você suspeitar que o uso de memória está causando a falha do serviço TypeScript, primeiro tente [dividir seu código. Consulte [trabalhar com projetos grandes](#trabalhar com projetos grandes) para dicas

Se isso ainda não funcionar, você pode tentar aumentar a memória disponível para o servidor TypeScript:

  1. Nas configurações do NP Sharp, defina typescript.tsserver.nodePath para que o servidor TypeScript seja executado usando sua versão do nó local
  2. Aumente typescript.tsserver.maxTsServerMemory para um limite superior razoável para uso de memória. Certifique-se de que seu sistema tenha memória suficiente para isso.

Diagnosticando problemas

Coletando logs de falhas do servidor TS

Os logs do servidor TypeScript fornecem informações detalhadas que podemos usar para i Investigue falhas e outros problemas. Para coletar os logs após a falha do servidor TypeScript:

  1. Defina "typescript.tsserver.log": "verbose"

  2. Reinicie o NP Sharp e reproduza o problema

  3. Abra a seção TypeScript do painel de saída

  4. No topo, encontre a primeira linha que imprime o caminho para o arquivo de log de erros semânticos. Deve ser algo como:

    [Info - 19:54:59.247] <semântico> Arquivo de log: /Users/matb/Library/Application Support/Code - Insiders/logs/20200213T104930/exthost55/vscode.typescript-language-features/tsserver-log-ZT2zau/tsserver.log
    

    Esse arquivo contém os logs do TypeScript.

Ao relatar o problema, inclua os registros completos ou uma versão editada deles.

⚠️Aviso: O log do TypeScript pode incluir informações do seu espaço de trabalho, incluindo caminhos de arquivo e código-fonte. Se você tiver alguma dúvida sobre postar isso publicamente no Github, é só me avisar e podemos providenciar outra coisa. Da nossa parte, só usamos esses logs para investigar problemas como este

Coletando logs do servidor TS em execução

Se você estiver vendo um problema de TypeScript que não é uma falha, geralmente é útil compartilhar os logs da instância do servidor TypeScript em execução no momento.

  1. Defina "typescript.tsserver.log": "verbose"
  2. Reinicie o NP Sharp e reproduza o problema
  3. Com um arquivo JavaScript ou TypeScript aberto e focado, execute o comando TypeScript: Open TS Server Log.

Isso abrirá o arquivo de logs atual no NP Sharp.

Trabalhando com grandes projetos

Se você estiver trabalhando em uma base de código com centenas ou milhares de arquivos TypeScript, aqui estão algumas etapas que você pode seguir para melhorar a experiência de edição no NP Sharp e também os tempos de compilação na linha de comando.

Certifique-se de que seu tsconfig inclua apenas arquivos de seu interesse

Use include ou files no tsconfig.json do seu projeto para garantir que o projeto inclua apenas os arquivos que devem fazer parte do projeto.

Mais informações sobre como configurar o tsconfig.json do seu projeto.

Divida seu projeto usando referências de projeto

Em vez de estruturar seu código-fonte como um único projeto grande, você pode melhorar o desempenho dividindo-o em projetos menores usando referências de projeto. Isso permite que o TypeScript carregue apenas um subconjunto de sua base de código por vez, em vez de carregar tudo.

Consulte a documentação do TypeScript para obter detalhes sobre como usar referências de projetos e práticas recomendadas para trabalhar com eles.

Clone this wiki locally