Analisadores de Roslyn. Como escrever código de maneira rápida e precisa

Roslyn, a plataforma de compilador .NET, ajuda a detectar erros mesmo antes da execução do código. Um exemplo é o Verificador Ortográfico Roslyn, incorporado ao Visual Studio. Digamos que você crie um método estático e escreva acidentalmente a palavra estático como statc. Você poderá ver esse erro de ortografia antes mesmo de executar seu código, porque Roslyn emitirá um aviso no código quando você digitar texto antes da linha ser concluída. Em outras palavras, você não precisa criar o código para descobrir que cometeu um erro.

imagem

Os analisadores Roslyn também podem exibir a correção automática de código usando o ícone da lâmpada do Visual Studio, que permite corrigir o código imediatamente.

imagem

Mas e se você pudesse pegar ainda mais erros?


Deixe-me apresentar-lhe os pacotes do analisador Roslyn. Essas coleções de analisadores fornecem análises mais detalhadas, mas não são fornecidas com as ferramentas padrão do Visual Studio. Para saber mais sobre nossos analisadores Roslyn favoritos, visite o repositório de analisadores Roslyn no GitHub . Este repositório inclui regras FxCop que ainda são aplicáveis ​​ao desenvolvimento moderno de software, mas agora são direcionadas para nossa moderna plataforma de análise de código baseada em Roslyn. Vamos continuar e instalar este pacote para aumentar a produtividade e a velocidade de escrever ótimos códigos!

Instalando os analisadores FxCop:

  1. Presumo que você esteja usando o Visual Studio 2017 versão 15.8 ou posterior. Nesse caso, selecione a versão mais recente do Microsoft.CodeAnalysis.FxCopAnalyzers .
  2. Instale o pacote no Visual Studio usando a interface do usuário do Package Manager .

imagem

Após a instalação do pacote, você pode simplesmente configurar o diagnóstico do analisador no Solution Explorer. O nó do analisador aparece no nó Referências ou Dependências no Gerenciador de Soluções. Se você implantar primeiro analisadores e, em seguida, um dos conjuntos do analisador, poderá ver todos os diagnósticos disponíveis na montagem.

imagem

Você pode visualizar propriedades de diagnóstico, incluindo itens como Descrição e Gravidade padrão, na janela Propriedades. Para visualizar as propriedades, clique com o botão direito do mouse na regra e selecione Propriedades ou selecione a regra e pressione Alt + Enter .

imagem

Os ícones próximos a cada tipo de diagnóstico no Gerenciador de Soluções correspondem aos ícones que aparecem no conjunto de regras quando ele é aberto no editor:

  • "I" em um círculo indica um parâmetro Info
  • "!" em um triângulo indica o parâmetro Warning
  • "X" no círculo indica o parâmetro Error
  • "I" no círculo indica o parâmetro Oculto
  • "↓" em um círculo indica um diagnóstico suprimido.

imagem

Você pode definir as configurações de gravidade no Solution Explorer. Primeiro, para isso, você precisa expandir Dependências > Analisadores no Solution Explorer e, em seguida, implantar o assembly que contém a regra para a qual você deseja definir os parâmetros de gravidade. Depois disso, clique com o botão direito do mouse na regra, selecione Definir regra Definir gravidade e selecione um dos parâmetros de gravidade no menu pop-up.

imagem

Se você definir Aviso, receberá avisos em seu código para este conjunto de regras específico.

imagem

Agora que você entende como os analisadores funcionam, você pode aumentar a produtividade e escrever ótimos códigos mais rapidamente!

FAQ:


P : Encontrei o seguinte aviso ao trabalhar no Visual Studio: “A execução da análise de código foi preterida em favor dos analisadores FxCop, que são executados durante a compilação. Consulte aka.ms/fxcopanalyzers para migrar para os analisadores FxCop ”. O que isso significa?
R : O FxCop é uma ferramenta de análise de código que precedeu Roslyn por quase uma década. Assim como transportamos nosso compilador (por exemplo, a introdução do Roslyn), também transportamos nossa tecnologia de análise de código para a plataforma Roslyn. Como ele é executado na .NET Compiler Platform, ele pode gerar avisos no seu código enquanto você digita. Em outras palavras, não há necessidade de criar o código para descobrir o erro.

P : Qual é a diferença entre os analisadores FxCop e FxCop herdados?
R : Os analisadores FxCop analisam o código-fonte em tempo real e durante a compilação, enquanto o FxCop herdado é uma análise estática de código e analisa arquivos binários após a conclusão da compilação. Consulte Analisadores Roslyn vs. para obter mais informações. análise de código estático e FAQ dos analisadores FxCop .

P : Posso escrever meus próprios analisadores?
A : claro! A documentação sobre como escrever analisadores está aqui .

P : Devo usar os analisadores Roslyn ou .editorconfig para o estilo do código?
R : Os analisadores Roslyn e os arquivos .editorconfig funcionam de mãos dadas. Ao definir estilos de código no arquivo .editorconfig ou na página de opções do editor de texto , você realmente configura os analisadores do Roslyn incorporados ao Visual Studio.

P : Os analisadores trabalham em montagens de integração contínua (CI)?
R : Sim, os analisadores instalados como pacotes NuGet podem ser usados ​​em montagens de IC.

P : Onde posso solicitar mais analisadores ou relatar erros?
R : Você pode solicitar mais analisadores e relatar bugs no repositório do Roslyn no GitHub.

Source: https://habr.com/ru/post/pt459982/


All Articles