Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
Analizadores de estilo de código
Estos analizadores están integrados en Visual Studio. El identificador de diagnóstico del analizador o el formato de código es IDExxxx, por ejemplo, IDE0001. Puede configurar preferencias en la página de opciones del editor de texto o en un archivo EditorConfig. A partir de .NET 5.0, los analizadores de estilo de código se incluyen con el SDK de .NET y se pueden aplicar estrictamente como advertencias de compilación o errores. Para obtener más información, consulte Introducción al análisis de código fuente de .NET.
Analizadores de calidad de código
Estos analizadores se incluyen con el SDK de .NET 5.0 y versiones posteriores y están habilitados de forma predeterminada. El identificador de diagnóstico del analizador o el formato de código es CAxxxx, por ejemplo, CA1822. Para obtener más información, consulte Introducción al análisis de calidad de código de .NET.
Analizadores externos
Algunos ejemplos de analizadores externos son StyleCop, Roslynator, xUnit Analyzers y Sonar Analyzer. Puede instalar estos analizadores como un paquete NuGet o una extensión de Visual Studio.
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:
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):
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.
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.NetAnalyzers
paquete 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.
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.