Compartir a través de


Análisis de código mediante analizadores de la plataforma del compilador de .NET (Roslyn)

Los analizadores de la plataforma del compilador de .NET (Roslyn) inspeccionan el código de C# o Visual Basic para conocer el estilo, la calidad, el mantenimiento, el diseño y otros problemas. Esta inspección o análisis se produce durante el tiempo de diseño en todos los archivos abiertos.

Los analizadores se dividen en los grupos siguientes:

Niveles de gravedad de los analizadores

Cada regla del analizador de Roslyn o diagnóstico tiene un estado de gravedad y supresión predeterminados que puede personalizar para el proyecto.

Los niveles de gravedad incluyen: Error, Advertencia, Sugerencia, Silencioso, Ninguno y Predeterminado. Para obtener información detallada y el comportamiento, consulte Configuración de los niveles de gravedad.

Infracciones de reglas

Si un analizador encuentra infracciones de reglas de analizador, las notifica en la ventana Lista de errores y en el editor de código.

En la captura de pantalla siguiente se muestran las infracciones de reglas notificadas en la ventana Lista de errores. Las infracciones del analizador notificadas en la lista de errores coinciden con la configuración de nivel de gravedad de la regla:

Captura de pantalla que muestra las infracciones del analizador en la ventana Lista de errores.

Las infracciones de las reglas del analizador también aparecen en el editor de código como líneas onduladas bajo el código problemático. Por ejemplo, en la captura de pantalla siguiente se muestran tres infracciones: un error (línea de subrayado ondulado rojo), una advertencia (línea de subrayado ondulado verde) y una sugerencia (tres puntos grises):

Captura de pantalla que muestra las marcas de error, advertencia y sugerencia en el editor de código.

Correcciones de código

Muchos diagnósticos tienen una o varias correcciones de código asociadas que puede aplicar para corregir la infracción de la regla. Las correcciones de código se muestran en el menú icono de bombilla junto con otros tipos de acciones rápidas. Para obtener más información sobre las correcciones de código, consulte Acciones rápidas comunes.

Captura de pantalla que muestra una infracción del analizador y una corrección de código de acción rápida en el editor de código.

Configuración de los niveles de gravedad del analizador

Puede configurar la gravedad de las reglas del analizador en un archivo EditorConfig o desde el menú de bombilla.

También puede configurar analizadores para inspeccionar el código en tiempo de compilación y mientras escribe. Puede configurar el ámbito del análisis de código activo para que se ejecute solo para el documento actual, todos los documentos abiertos o toda la solución. Para obtener más información, consulte Configuración del análisis de código activo para .NET.

Sugerencia

Los errores y advertencias en tiempo de compilación de los analizadores de código solo se muestran si los analizadores se instalan como un paquete NuGet. Los analizadores integrados (por ejemplo, IDE0067 y IDE0068) nunca se ejecutan durante la compilación.

Instalación de analizadores de código externo

Visual Studio incluye un conjunto básico de analizadores de Roslyn, que siempre están activos. Si necesita más analizadores de código, puede instalar analizadores externos para cada proyecto a través de un paquete NuGet. Algunos analizadores también están disponibles como una extensión .vsix de Visual Studio, en cuyo caso se aplican a cualquier solución que abra en Visual Studio. Para obtener información sobre cómo instalar estos dos tipos diferentes de analizadores, consulte Instalación de analizadores de código.

Ámbito

Si instala un analizador como un paquete NuGet, el método preferido solo se aplica al proyecto donde está instalado el paquete NuGet. De lo contrario, si instala un analizador como una extensión de Visual Studio, se aplica en el nivel de solución y a todas las instancias de Visual Studio. En entornos de equipo, un analizador que se instala como un paquete NuGet está en el ámbito de todos los desarrolladores que trabajan en ese proyecto.

Nota:

Los analizadores de primera parte forman parte del SDK de .NET. Es preferible habilitar estos analizadores desde el SDK de .NET en lugar de instalarlos como un Microsoft.CodeAnalysis.NetAnalyzerspaquete NuGet. La habilitación de los analizadores desde el SDK de .NET garantiza que obtiene automáticamente correcciones de errores del analizador y nuevos analizadores tan pronto como actualice el SDK. Para obtener más información sobre los analizadores, consulte Habilitación o instalación de analizadores de .NET de terceros.

Errores de compilación

Para aplicar las reglas en tiempo de compilación, mediante una línea de comandos o compilaciones de integración continua (CI), elija una de las siguientes opciones:

  • Cree un proyecto de .NET 5.0 o posterior, que habilita el análisis de código de forma predeterminada. Para habilitar el análisis de código en proyectos que tienen como destino versiones anteriores de .NET, establezca la propiedad EnableNETAnalyzers en true.

  • Instale los analizadores como un paquete NuGet. Si instala los analizadores como una extensión de Visual Studio, las advertencias y los errores del analizador no aparecen en el informe de compilación.

La siguiente captura de pantalla muestra la salida de la línea de comandos al compilar un proyecto que contiene una infracción de regla del análisis.

Captura de pantalla que muestra una salida de MSBuild con una infracción de regla en un símbolo del sistema para desarrolladores.

Gravedad de las reglas

Si desea configurar la gravedad de la regla del analizador, debe instalar el analizador como un paquete NuGet. No puedes configurar la gravedad de la regla para los analizadores que se instalaron como una extensión de Visual Studio.

Pasos siguientes