Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
Analisadores de estilo de código
Esses analisadores são incorporados ao Visual Studio. O ID de diagnóstico do analisador, ou formato de código é IDExxxx, por exemplo, IDE0001. Você pode configurar preferências na página de opções do editor de texto ou em um arquivo EditorConfig. A partir do .NET 5.0, os analisadores de estilo de código estão incluídos no SDK do .NET e podem ser estritamente aplicados como avisos ou erros de compilação. Para obter mais informações, consulte Visão geral da análise do código-fonte do .NET.
Analisadores de qualidade de código
Esses analisadores estão incluídos no SDK do .NET 5.0 e posterior e habilitados por padrão. O ID de diagnóstico do analisador, ou formato de código é CAxxxx, por exemplo, CA1822. Para obter mais informações, consulte Visão geral da análise de qualidade de código .NET.
Analisadores externos
Exemplos de analisadores externos são StyleCop, Roslynator, xUnit Analyzers e Sonar Analyzer. Você pode instalar esses analisadores como um pacote NuGet ou uma extensão do Visual Studio.
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:
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):
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.
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:
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.