Los compiladores crean un modelo detallado de código de aplicación a medida que validan la sintaxis y semántica de ese código. Utilizan este modelo para generar la salida ejecutable desde el código fuente. El SDK de .NET Compiler Platform proporciona acceso a este modelo. Cada vez confiamos más en las características del entorno de desarrollo integrado (IDE), como IntelliSense, la refactorización, el cambio de nombre inteligente, "Buscar todas las referencias" e "Ir a definición" para aumentar la productividad. Nos basamos en herramientas de análisis de código para mejorar la calidad de nuestro código y en generadores de código para ayudar en la construcción de la aplicación. A medida que la inteligencia de estas herramientas aumenta, cada vez necesitan más acceso del modelo que solo los compiladores crean cuando procesan el código de la aplicación. Es la misión principal de las API de Roslyn: abrir las cajas negras y permitir que herramientas y usuarios finales compartan la gran cantidad de información que los compiladores tienen sobre el código.
En lugar de actuar como traductores opacos de código fuente de entrada en código objeto de salida, con Roslyn, los compiladores se convierten en plataformas: API que puede usar para tareas relacionadas con el código en las herramientas y aplicaciones.
Conceptos del SDK de .NET Compiler Platform
El SDK de .NET Compiler Platform reduce notablemente la barrera de entrada para crear herramientas y aplicaciones centradas en código. Crea numerosas oportunidades para la innovación en áreas como la metaprogramación, la generación y la transformación de código, el uso interactivo de los lenguajes C# y Visual Basic, y la inserción de C# y Visual Basic en lenguajes específicos del dominio.
El SDK de .NET Compiler Platform le permite crear analizadores y correcciones de código que buscan y corrigen errores de codificación.
Los analizadores comprenden la sintaxis (estructura del código) y la semántica, y detectan las prácticas que se deben corregir.
Las correcciones de código sugieren una o varias correcciones para tratar los errores de codificación que encuentran los analizadores o los diagnósticos del compilador. Por lo general, un analizador y las correcciones de código asociadas se empaquetan conjuntamente en un solo proyecto.
Los analizadores y las correcciones de código usan el análisis estático para comprender el código. No ejecutan el código o proporcionan otras ventajas de pruebas. Sin embargo, pueden señalar prácticas que suelen dar lugar a errores, código que no se puede mantener o validación de guías estándar.
Además de los analizadores y las correcciones de código, el SDK de .NET Compiler Platform también le permite compilar refactorizaciones de código.
También proporciona un único conjunto de API que le permite examinar y entender un código base de C# o Visual Basic. Dado que puede usar este código base único, puede escribir analizadores y correcciones de código más fácilmente aprovechando las API de análisis sintáctico y semántico que proporciona el SDK de .NET Compiler Platform. Una vez liberado de la ardua tarea de replicar el análisis realizado por el compilador, puede concentrarse en la tarea más específica de encontrar y corregir errores de codificación comunes para el proyecto o la biblioteca.
Una ventaja menor es que los analizadores y las correcciones de código son más pequeños y usan muchos menos memoria cuando se cargan en Visual Studio que si escribiera su propio código base para entender el código de un proyecto. Aprovechando las mismas clases que usa el compilador y Visual Studio, puede crear sus propias herramientas de análisis estático. Esto significa que el equipo puede usar los analizadores y las correcciones de código sin un impacto perceptible en el rendimiento del IDE.
Hay tres escenarios principales para escribir analizadores y correcciones de código:
Aplicación de estándares de codificación de equipo
Muchos equipos tienen estándares de codificación que se aplican a través de revisiones del código con otros miembros del equipo. Los analizadores y las correcciones de código pueden hacer este proceso mucho más eficiente. Las revisiones de código se producen cuando un desarrollador comparte su trabajo con otros usuarios en el equipo. Dicho desarrollador habrá invertido todo el tiempo necesario para completar una nueva característica antes de obtener los comentarios. Pueden pasar semanas mientras que refuerza los hábitos que no coinciden con las prácticas del equipo.
Los analizadores se ejecutan a medida que un desarrollador escribe código. Obtiene comentarios al instante que animan a seguir la guía de inmediato. Crea hábitos para escribir código compatible tan pronto como comienza la creación de prototipos. Cuando la característica está lista para que las personas la revisen, se habrá aplicado toda la guía estándar.
Los equipos pueden crear analizadores y correcciones de código que busquen las prácticas más comunes que infringen las prácticas de codificación del equipo. Se pueden instalar en el equipo del desarrollador para aplicar los estándares.
Sugerencia
Antes de compilar su propio analizador, consulte los integrados. Para obtener más información, vea Reglas de estilo del código.
Suministro de instrucciones con paquetes de biblioteca
Hay una gran cantidad de bibliotecas disponibles para los desarrolladores de .NET en NuGet.
Algunos de ellas proceden de Microsoft, algunas de compañías de terceros y otras de voluntarios y miembros de la comunidad. Estas bibliotecas consiguen más adopción y revisiones superiores cuando los desarrolladores pueden tener éxito con ellas.
Además de proporcionar documentación, puede proporcionar analizadores y correcciones de código que busquen y corrijan los usos incorrectos habituales de la biblioteca. Estas correcciones inmediatas ayudarán a los desarrolladores a tener éxito más rápidamente.
Puede empaquetar los analizadores y las correcciones de código con la biblioteca en NuGet. En ese escenario, todos los desarrolladores que instalan el paquete de NuGet también instalarán el paquete de analizador. Todos los programadores que utilicen la biblioteca obtendrán instrucciones de su equipo al instante en forma de comentarios inmediatos sobre errores y correcciones sugeridas.
Suministro de una guía general
La comunidad de desarrolladores de .NET ha detectado patrones de experiencia que funcionan bien y patrones que es mejor evitar. Varios miembros de la comunidad han creado analizadores que aplican esos patrones recomendados. A medida que aprendemos más, siempre hay espacio para nuevas ideas.
Estos analizadores se puedan cargar en Visual Studio Marketplace y los desarrolladores los pueden descargar mediante Visual Studio. Los recién llegados al lenguaje y a la plataforma aprenden rápidamente las prácticas aceptadas y consiguen ser productivos antes en su recorrido por .NET. A medida que su uso se amplía, la comunidad adopta estas prácticas.
Pasos siguientes
El SDK de .NET Compiler Platform incluye los modelos de objetos de idioma más recientes para generación de código, análisis y refactorización. Esta sección proporciona información general conceptual del SDK de .NET Compiler Platform. Encontrará más detalles en las secciones de guías de inicio rápido, ejemplos y tutoriales.
Puede obtener más información sobre los conceptos del SDK de .NET Compiler Platform en estos cinco temas:
Para empezar, debe instalar el SDK de .NET Compiler Platform:
Instrucciones de instalación: Instalador de Visual Studio
Hay dos maneras distintas de buscar el SDK de .NET Compiler Platform en el Instalador de Visual Studio:
Instalación con el Instalador de Visual Studio: visualización de cargas de trabajo
El SDK de .NET Compiler Platform no se selecciona automáticamente como parte de la carga de trabajo de desarrollo de extensiones de Visual Studio. Se debe seleccionar como un componente opcional.
Ejecute el Instalador de Visual Studio.
Selección de Modificar
Active la carga de trabajo Desarrollo de extensiones de Visual Studio.
Abra el nodo Desarrollo de extensiones de Visual Studio en el árbol de resumen.
Active la casilla SDK de .NET Compiler Platform. La encontrará en última posición bajo los componentes opcionales.
Opcionalmente, también le interesará que el Editor de DGML muestre los gráficos en el visualizador:
Abra el nodo Componentes individuales en el árbol de resumen.
Active la casilla Editor de DGML.
Instalación con el Instalador de Visual Studio: pestaña Componentes individuales
Ejecute el Instalador de Visual Studio.
Selección de Modificar
Haga clic en la pestaña Componentes individuales.
Active la casilla SDK de .NET Compiler Platform. La encontrará en la parte superior bajo la sección Compiladores, herramientas de compilación y tiempos de ejecución.
Opcionalmente, también le interesará que el Editor de DGML muestre los gráficos en el visualizador:
Active la casilla Editor de DGML. La encontrará en la sección Herramientas de código.