Partilhar via


Análise de código usando analisadores de plataforma de compilador .NET (Roslyn)

Os analisadores de plataforma de compilador .NET (Roslyn) inspecionam seu código C# ou Visual Basic quanto a estilo, qualidade, capacidade de manutenção, design e outros problemas. Essa inspeção ou análise acontece durante o tempo de projeto em todos os arquivos abertos.

Os analisadores são divididos nos seguintes grupos:

Níveis de severidade dos analisadores

Cada regra do analisador Roslyn, ou diagnóstico, tem um estado padrão de severidade e supressão que você pode personalizar para seu projeto.

Os níveis de gravidade incluem: Erro, Aviso, Sugestão, Silencioso, Nenhum e Padrão. Para obter informações detalhadas e comportamento, consulte Configurar níveis de gravidade.

Violações de regras

Se um analisador encontrar quaisquer violações de regras do analisador, ele as relatará na janela Lista de Erros e no editor de códigos.

A captura de tela a seguir mostra violações de regras relatadas na janela Lista de Erros . As violações do analisador relatadas na lista de erros correspondem à configuração de nível de gravidade da regra:

Captura de tela que mostra violações do analisador na janela Lista de Erros.

As violações das regras do analisador também aparecem no editor de código como linhas onduladas sob o código problemático. Por exemplo, a captura de tela a seguir mostra três violações: um erro (linha de ondulação vermelha), um aviso (linha de ondulação verde) e uma sugestão (três pontos cinzas):

Captura de tela que mostra marcas de erro, aviso e sugestão no editor de códigos.

Correções de código

Muitos diagnósticos têm uma ou mais correções de código associadas que você pode aplicar para corrigir a violação da regra. As correções de código são mostradas no menu de ícones de lâmpadas, juntamente com outros tipos de Ações Rápidas. Para obter mais informações sobre correções de código, consulte Ações rápidas comuns.

Captura de ecrã que mostra uma violação do analisador e a correção de código através de Ação Rápida no editor de código.

Configurar os níveis de severidade do analisador

Você pode configurar a severidade das regras do analisador em um arquivo EditorConfig ou no menu de lâmpadas.

Você também pode configurar analisadores para inspecionar o código no momento da compilação e à medida que digita. Você pode configurar o escopo da análise de código em tempo real para ser executado apenas para o documento atual, todos os documentos abertos ou toda a solução. Para obter mais informações, consulte Configurar a análise de código dinâmico para .NET.

Sugestão

Erros em tempo de compilação e avisos de analisadores de código são mostrados somente se os analisadores estiverem instalados como um pacote NuGet. Os analisadores internos (por exemplo, IDE0067 e IDE0068) nunca são executados durante a compilação.

Instalar analisadores de código externos

O Visual Studio inclui um conjunto principal de analisadores Roslyn, que estão sempre ativos. Se precisar de mais analisadores de código, você pode instalar analisadores externos para cada projeto por meio de um pacote NuGet. Alguns analisadores também estão disponíveis como uma extensão .vsix do Visual Studio, caso em que se aplicam a qualquer solução aberta no Visual Studio. Para obter informações sobre como instalar esses dois tipos diferentes de analisadores, consulte Instalar analisadores de código.

Âmbito de aplicação

Se você instalar um analisador como um pacote NuGet, o método preferido para analisadores externos, ele se aplicará somente ao projeto em que o pacote NuGet está instalado. Caso contrário, se você instalar um analisador como uma extensão do Visual Studio, ele se aplicará no nível da solução e a todas as instâncias do Visual Studio. Em ambientes de equipe, um analisador que você instala como um pacote NuGet está no escopo de todos os desenvolvedores que trabalham nesse projeto.

Observação

Os analisadores primários são fornecidos dentro do SDK do .NET. É preferível que você habilite esses analisadores do SDK do .NET em vez de instalá-los como um Microsoft.CodeAnalysis.NetAnalyzerspacote NuGet. Habilitar os analisadores do SDK do .NET garante que você obtenha automaticamente correções de bugs do analisador e novos analisadores assim que atualizar o SDK. Para obter mais informações sobre analisadores, consulte Habilitar ou instalar analisadores .NET primários.

Erros de compilação

Para impor as regras em tempo de compilação, usando uma linha de comando ou compilações de integração contínua (CI), escolha uma das seguintes opções:

  • Crie um projeto .NET 5.0 ou posterior, que permite a análise de código por padrão. Para habilitar a análise de código em projetos destinados a versões anteriores do .NET, defina a propriedade EnableNETAnalyzers como true.

  • Instale os analisadores como um pacote NuGet. Se você instalar os analisadores como uma extensão do Visual Studio, os avisos e erros do analisador não aparecerão no relatório de compilação.

A captura de tela a seguir mostra a saída de compilação de linha de comando da criação de um projeto que contém uma violação de regra do analisador:

Captura de tela que mostra uma saída do MSBuild com uma violação de regra em um prompt de comando do desenvolvedor.

Severidade da regra

Se quiser configurar a severidade da regra do analisador para analisadores externos, instale o analisador como um pacote NuGet. Não é possível configurar a severidade da regra a partir de analisadores que foram instalados como uma extensão do Visual Studio.

Próximos passos