Escriba un código mejor más rápido con los analizadores Roslyn

Roslyn, la plataforma compiladora .NET, te ayuda a detectar errores incluso antes de ejecutar tu código. Un ejemplo es el analizador de corrección ortográfica de Roslyn integrado en Visual Studio. Digamos que está creando un método estático y ha escrito mal la palabra estática como statc . Podrá ver este error ortográfico antes de ejecutar su código porque Roslyn puede generar advertencias en su código a medida que escribe incluso antes de que termine la línea. En otras palabras, no tiene que crear su código para descubrir que cometió un error.



Los analizadores de Roslyn también pueden mostrar una corrección automática de código a través del icono de la bombilla de Visual Studio que le permite corregir su código de inmediato.



Pero, ¿y si pudieras atrapar aún más insectos?


Permíteme presentarte los paquetes del analizador Roslyn. Estas colecciones de analizadores proporcionan un análisis más detallado, pero no incluyen las herramientas predeterminadas de Visual Studio. Para obtener más información sobre nuestros analizadores Roslyn favoritos, visite nuestro repositorio GitHub de analizadores Roslyn . Este repositorio incluye las reglas de FxCop que todavía son aplicables al desarrollo de software moderno, pero que ahora apuntan a nuestra plataforma de análisis de código moderna basada en Roslyn. ¡Avancemos e instalemos este paquete para ser más productivo y escribir mejor código más rápido!

Para instalar los analizadores FxCop como un paquete NuGet:

  1. Suponiendo que está utilizando Visual Studio 2017 Versión 15.8 o posterior, elija la versión más reciente de Microsoft.CodeAnalysis.FxCopAnalyzers .
  2. Instale el paquete en Visual Studio, utilizando la IU de Package Manager .



Una vez que tenga el paquete instalado, simplemente puede personalizar los diagnósticos del analizador desde el Explorador de soluciones. Aparecerá un nodo analizador debajo del nodo Referencias o Dependencias en el Explorador de soluciones. Si expande los analizadores y luego expande uno de los conjuntos de analizadores, puede ver todos los diagnósticos en el conjunto.



Puede ver las propiedades de un diagnóstico, incluida su descripción y la gravedad predeterminada, en la ventana de propiedades. Para ver las propiedades, haga clic derecho en la regla y seleccione Propiedades, o seleccione la regla y luego presione Alt + Entrar.



Los íconos junto a cada diagnóstico en el Explorador de soluciones corresponden a los íconos que ve en el conjunto de reglas cuando lo abre en el editor:

  • la "i" en un círculo indica una gravedad de la información
  • el "!" en un triángulo indica una severidad de Advertencia
  • la "x" en un círculo indica una gravedad de error
  • la "i" en un círculo sobre un fondo de color claro indica una gravedad de Oculto
  • el "↓" en un círculo indica un diagnóstico suprimido



Luego puede establecer la gravedad del conjunto de reglas desde el Explorador de soluciones. En el Explorador de soluciones, expanda Dependencias> Analizadores. Expanda el ensamblaje que contiene la regla para la que desea establecer la gravedad. Haga clic con el botón derecho en la regla y seleccione Establecer regla Establecer gravedad y, en el menú desplegable, seleccione una de las opciones de gravedad.



Si establece la severidad de la regla en una advertencia, recibirá una advertencia en su código para ese conjunto de reglas específico.



¡Ahora que comprende cómo funcionan los analizadores, puede ser más productivo y escribir mejor código más rápido!

FAQ:


P: Esta advertencia aparece en Visual Studio: "Ejecutar análisis de código ha quedado en desuso a favor de los analizadores FxCop, que se ejecutan durante la compilación. Consulte https://aka.ms/fxcopanalyzers para migrar a los analizadores FxCop ". ¿Qué significa esto?

R: FxCop es el motor de análisis de código que precede a Roslyn en casi una década. Al igual que avanzamos nuestro compilador (por ejemplo, Roslyn introducida), también estamos avanzando nuestra tecnología de análisis de código hacia la plataforma Roslyn. Como funciona con .NET Compiler Platform, puede generar advertencias en su código a medida que escribe. En otras palabras, no tiene que crear su código para descubrir que cometió un error.

P: ¿Cuál es la diferencia entre los analizadores FxCop y el FxCop heredado?

R: Los analizadores de FxCop analizan el código fuente en tiempo real y durante la compilación, mientras que el FxCop heredado es un análisis de código estático y analiza archivos binarios una vez completada la compilación. Para obtener más información, consulte Analizadores de Roslyn vs. Preguntas frecuentes sobre análisis de código estático y analizadores FxCop .

P: ¿Puedo escribir analizadores personalizados?

A: por supuesto! La documentación sobre cómo escribir un analizador se encuentra aquí.

P: ¿Debo usar los analizadores Roslyn o .editorconfig para el estilo de código?

R: Los analizadores Roslyn y los archivos .editorconfig funcionan de la mano. Cuando define estilos de código en un archivo .editorconfig o en la página de opciones del editor de texto , en realidad está configurando los analizadores Roslyn integrados en Visual Studio.

P: ¿Los analizadores trabajan en compilaciones de integración continua (CI)?

R: Sí, los analizadores instalados como paquetes NuGet pueden aplicarse en las compilaciones de CI.

P: ¿Dónde puedo solicitar más analizadores o informar errores?

R: Puede solicitar más analizadores e informar errores en el repositorio de Roslyn en GitHub.

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


All Articles