Configure a análise de código dinâmica para .NET

O Visual Studio analisa o código de várias maneiras enquanto você está editando arquivos de origem no editor. Essa análise é chamada de análise em segundo plano. Essas análises podem ser categorizadas da seguinte forma, com base na funcionalidade:

  • Computação em segundo plano de diagnóstico: esse tipo de análise calcula erros, avisos e sugestões em arquivos de origem. Esses diagnósticos aparecem como entradas na janela Lista de erros e são marcados com linhas sublinhadas no editor de códigos. Elas podem ser classificadas nas seguintes categorias:

    • Diagnósticos do compilador C# e Visual Basic
    • Diagnósticos do analisador Roslyn, o qual inclui:
      • Analisadores de IDE internos para sugestões de estilo de código
      • Analisadores de AC internos para sugestões de qualidade de código
      • Pacotes de analisadores externos que estão instalados para projetos na solução atual
  • Outras análises em segundo plano: esse tipo de análise melhora a capacidade de resposta e a interação do Visual Studio com os recursos do IDE. Exemplos de análises incluem:

    • Análise em segundo plano de arquivos abertos
    • Compilação em segundo plano de projetos com arquivos abertos para captar símbolos e melhorar a capacidade de resposta de recursos do IDE
    • Criando caches de sintaxe e símbolos
    • Detectando a associação do designer para arquivos de origem, como formulários e controles

Escopo de análise padrão

Por padrão, o diagnóstico do compilador é executado em todos os documentos abertos. No Visual Studio 2022 e mais recente, o diagnóstico do analisador Roslyn é executado somente no documento ativo no momento. As outras análises em segundo plano são executadas para todos os projetos que têm pelo menos um arquivo aberto. Algumas análises em segundo plano são executadas para toda a solução.

Escopo da análise personalizada

O escopo padrão de cada análise de segundo plano é ajustado para otimizar a experiência do usuário, a funcionalidade e o desempenho da maioria dos cenários e soluções do cliente. No entanto, há casos em que os clientes podem querer personalizar esse escopo para diminuir ou aumentar a análise em segundo plano. Por exemplo:

  • Modo de Economia de energia

    Se você estiver usando a bateria do notebook, talvez queira minimizar o consumo de energia para obter uma maior duração da bateria. Nesse cenário, é recomendado minimizar a análise em segundo plano.

  • Code Analysis sob demanda

    Análise de código sob demanda: se você preferir desativar a execução do analisador dinâmico e executar a Code Analysis manualmente quando necessário, convém minimizar a análise em segundo plano. Para obter mais informações, consulte Executar Code Analysis manualmente para .NET.

  • Análise de solução completa

    Se quiser ver todos os diagnósticos em todos os arquivos da solução, independentemente de estarem abertos no editor, você pode maximizar o escopo da análise em segundo plano para toda a solução.

A partir do Visual Studio 2019, você pode personalizar explicitamente o escopo de toda a análise de código dinâmico, incluindo computação de diagnóstico, para projetos do C# e do Visual Basic. Os escopos de análise disponíveis são:

Escopo Descrição
Nenhuma Todos os analisadores e correções de código correspondentes estão desabilitados.

O diagnóstico do compilador e as correções de código correspondentes estão habilitados em todos os documentos abertos.
Documento atual (padrão) Todos os analisadores são executados somente no documento ativo no momento.

Os diagnósticos do compilador estão habilitado em todos os documentos abertos.
Documentos abertos Todos os analisadores e diagnósticos do compilador estão habilitado em todos os documentos abertos.
Solução inteira Todos os analisadores e diagnósticos do compilador estão habilitados em todos os documentos da solução, estejam eles abertos ou fechados.
  • Documento atual: minimiza o escopo de Code Analysis dinâmico a ser executado apenas para o arquivo atual ou visível no editor.
  • Documentos abertos: o escopo de análise de código dinâmico inclui todos os documentos abertos. Essa configuração é o padrão.
  • Solução inteira: maximiza o escopo de análise de código dinâmico a ser executado para todos os arquivos e projetos da solução inteira.

Você pode escolher um dos escopos de análise personalizados em Opções seguindo estas etapas:

  1. Para abrir a caixa de diálogo Opções da barra de menus do Visual Studio, selecione Ferramentas>Opções.

  2. Na caixa de diálogo Opções, escolha Editor de texto>C# (ou Visual Basic) >Avançado.

  1. Selecione o escopo da análise em segundo plano na lista suspensa Executar Code Analysis em segundo plano para: para personalizar o escopo da análise. Quando terminar, cliquem em OK.

    Captura de tela que mostra as opções de escopo de Code Analysis em segundo plano no Visual Studio.

  1. Selecione o escopo da análise em segundo plano em Escopo da análise em segundo plano:. Quando terminar, cliquem em OK.

    Captura de tela que mostra as opções de escopo de Code Analysis em segundo plano no Visual Studio.

Observação

Nas versões anteriores ao Visual Studio 2019, você personaliza o escopo de análise para computação de diagnóstico em relação a toda a solução ao usar a caixa de seleção Habilitar análise completa da solução na guiaFerramentas>Opções>Editor de texto>C# (ou Visual Basic) >Avançado. Não há suporte para minimizar o escopo de análise em segundo plano nas versões anteriores do Visual Studio.

Minimizar automaticamente o escopo de análise de código dinâmico

Se o Visual Studio detectar que 200 MB ou menos de memória do sistema estão disponíveis, ele minimiza automaticamente o escopo da Code Analysis dinâmica para o Documento atual. Quando essa situação ocorre, é exibido um alerta informando que o Visual Studio está desabilitando alguns recursos. Para obter mais informações, consulte Suspensão automática de recursos.

Captura de tela que mostra o aviso de alerta de que o Visual Studio está minimizando o escopo da análise.