Escreva um código melhor com mais rapidez com os analisadores Roslyn

Roslyn, a plataforma do compilador .NET, ajuda a detectar bugs antes mesmo de executar seu código. Um exemplo é o analisador de verificação ortográfica de Roslyn, incorporado ao Visual Studio. Digamos que você esteja criando um método estático e digitou incorretamente a palavra estático como statc . Você poderá ver esse erro de ortografia antes de executar seu código, porque Roslyn pode produzir avisos em seu código enquanto você digita, mesmo antes de terminar a linha. Em outras palavras, você não precisa criar seu código para descobrir que cometeu um erro.



Os analisadores Roslyn também podem apresentar uma correção automática de código através do ícone da lâmpada do Visual Studio que permite corrigir seu código imediatamente.



Mas e se você pudesse pegar ainda mais erros?


Deixe-me apresentar-lhe os pacotes do analisador Roslyn. Essas coleções de analisadores fornecem uma análise mais detalhada, mas não são fornecidas com as ferramentas padrão do Visual Studio. Para saber mais sobre nossos analisadores Roslyn favoritos, visite nosso repositório GitHub dos analisadores Roslyn . Este repositório inclui as regras FxCop que ainda são aplicáveis ​​ao desenvolvimento moderno de software, mas agora são direcionadas à nossa moderna plataforma de análise de código baseada em Roslyn. Vamos em frente e instalar este pacote para ser mais produtivo e escrever um código melhor mais rápido!

Para instalar os analisadores FxCop como um pacote NuGet:

  1. Supondo que você esteja usando o Visual Studio 2017 versão 15.8 ou mais recente, escolha 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 .



Depois de instalar o pacote, você pode simplesmente personalizar o diagnóstico do analisador no Gerenciador de Soluções. Um nó do analisador aparecerá sob o nó Referências ou Dependências no Gerenciador de Soluções. Se você expandir os analisadores e, em seguida, expandir um dos conjuntos do analisador, poderá ver todos os diagnósticos na montagem.



Você pode visualizar as propriedades de um diagnóstico, incluindo sua descrição e gravidade padrão, na janela de 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.



Os ícones próximos a cada diagnóstico no Gerenciador de Soluções correspondem aos ícones que você vê no conjunto de regras quando você o abre no editor:

  • o "i" em um círculo indica uma gravidade de Informações
  • o "!" em um triângulo indica uma gravidade de Aviso
  • o "x" em um círculo indica uma gravidade de erro
  • o "i" em um círculo em um plano de fundo de cor clara indica uma gravidade de Oculto
  • o "↓" em um círculo indica um diagnóstico suprimido



Em seguida, você pode definir a gravidade do conjunto de regras no Gerenciador de Soluções. No Gerenciador de Soluções, expanda Dependências> Analisadores. Expanda a montagem que contém a regra para a qual você deseja definir a gravidade. Clique com o botão direito do mouse na regra e selecione Definir gravidade do conjunto de regras e, no menu suspenso, selecione uma das opções de gravidade.



Se você definir a gravidade da regra como um aviso, receberá um aviso no seu código para esse conjunto de regras específico.



Agora que você entende como os analisadores funcionam, você pode ser mais produtivo e escrever códigos melhores mais rapidamente!

FAQ:


P: Esse aviso aparece 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 https://aka.ms/fxcopanalyzers para migrar para os analisadores FxCop. " O que isso significa?

R: O FxCop é o mecanismo de análise de código que antecede Roslyn há quase uma década. Assim como avançamos nosso compilador (por exemplo, introduzimos Roslyn), também estamos avançando nossa tecnologia de análise de código para a plataforma Roslyn. Como ele é desenvolvido pela .NET Compiler Platform, ele pode produzir avisos no seu código enquanto você digita. Em outras palavras, você não precisa criar seu código para descobrir que cometeu um erro.

P: Qual a diferença entre os analisadores FxCop e o FxCop herdado?

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. Para obter mais informações, consulte Analisadores Roslyn vs. análise de código estático e analisadores FxCop FAQ .

P: Posso escrever analisadores personalizados?

A: Absolutamente! A documentação sobre como escrever um analisador é encontrada aqui.

P: Devo usar os analisadores Roslyn ou .editorconfig para o estilo do código?

R: Os analisadores Roslyn e os arquivos .editorconfig funcionam em conjunto. Quando você define estilos de código em um arquivo .editorconfig ou na página de opções do editor de texto , na verdade está configurando os analisadores Roslyn incorporados ao Visual Studio.

P: Os analisadores trabalham em compilações de integração contínua (IC)?

R: Sim, os analisadores instalados como pacotes NuGet podem ser aplicados nas compilações de IC.

P: Onde posso solicitar mais analisadores ou relatar bugs?

R: Você pode solicitar mais analisador e relatar erros no repositório do Roslyn no GitHub.

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


All Articles