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 compiladores crean un modelo detallado de código de aplicación a medida que validan la sintaxis y la semántica de ese código. Usan este modelo para compilar la salida ejecutable desde el código fuente. El SDK de .NET Compiler Platform proporciona acceso a este modelo. Cada vez más, nos basamos en características del entorno de desarrollo integrado (IDE), como IntelliSense, refactorización, cambio de nombre inteligente, "Buscar todas las referencias" y "Ir a definición" para aumentar nuestra productividad. Nos basamos en herramientas de análisis de código para mejorar la calidad del código y los generadores de código para ayudar en la construcción de aplicaciones. A medida que estas herramientas son más inteligentes, necesitan acceso a más y más del modelo que solo los compiladores crean a medida que procesan el código de la aplicación. Esta es la misión principal de las API de Roslyn: abrir las cajas opacas y permitir que las herramientas y los usuarios finales compartan la riqueza de información que los compiladores tienen sobre nuestro código. En lugar de ser traductores opacos de código fuente a código objeto, a través de Roslyn, los compiladores se convierten en plataformas: APIs que se pueden usar para tareas relacionadas con el código en tus herramientas y aplicaciones.
Conceptos del SDK de .NET Compiler Platform
El SDK de .NET Compiler Platform reduce considerablemente la barrera de entrada para crear aplicaciones y herramientas centradas en código. Crea muchas oportunidades de innovación en áreas como la meta-programación, la generación y transformación de código, el uso interactivo de los lenguajes C# y Visual Basic, e incrustación de C# y Visual Basic en lenguajes específicos del dominio.
El SDK de .NET Compiler Platform permite compilar analizadores y correcciones de código que encuentran y corrigen errores de codificación. Los analizadores comprenden la sintaxis (estructura del código) y la semántica para detectar prácticas que se deben corregir. Las correcciones de código proporcionan una o varias correcciones sugeridas para solucionar errores de codificación detectados por analizadores o diagnósticos del compilador. Normalmente, un analizador y las correcciones de código asociadas se empaquetan en un solo proyecto.
Los analizadores y correcciones de código usan análisis estáticos para comprender el código. No ejecutan el código ni proporcionan otras ventajas de prueba. Sin embargo, pueden señalar prácticas que a menudo conducen a errores, código incontenible o infracción de directrices estándar.
Además de los analizadores y 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 permiten examinar y comprender un código base de C# o Visual Basic. Dado que puede usar este único código base, puede escribir analizadores y correcciones de código más fácilmente aprovechando las API de análisis sintáctico y semántico proporcionadas por el SDK de .NET Compiler Platform. Liberado de la tarea grande de replicar el análisis realizado por el compilador, puede concentrarse en la tarea más centrada de buscar y corregir errores de codificación comunes para el proyecto o biblioteca.
Una ventaja más pequeña es que los analizadores y correcciones de código son más pequeños y usan mucha menos memoria cuando se cargan en Visual Studio que si escribiera su propio código base para comprender el código en un proyecto. Al aprovechar 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 analizadores y correcciones de código sin un impacto notable 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
- Proporcionar orientación sobre paquetes de librerías
- Proporcionar instrucciones generales
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 de código con otros miembros del equipo. Los analizadores y correcciones de código pueden hacer que este proceso sea mucho más eficaz. Las revisiones de código se producen cuando un desarrollador comparte su trabajo con otros usuarios del equipo. El desarrollador habrá invertido todo el tiempo necesario para completar una nueva característica antes de obtener comentarios. Las semanas pueden pasar mientras el desarrollador refuerza los hábitos que no coinciden con las prácticas del equipo.
Los analizadores se ejecutan mientras el desarrollador escribe código. El desarrollador recibe comentarios inmediatos que animan a seguir las instrucciones inmediatamente. El desarrollador crea hábitos para escribir código compatible en cuanto comienzan a crear prototipos. Cuando la característica esté lista para que los humanos revisen, se han aplicado todas las instrucciones estándar.
Teams puede crear analizadores y correcciones de código que busquen las prácticas más comunes que infringen las prácticas de codificación de equipo. Se pueden instalar en la máquina de cada desarrollador para aplicar los estándares.
Sugerencia
Antes de crear su propio analizador, consulte los analizadores integrados. Para obtener más información, consulte Reglas de estilo de código.
Proporcionar orientación con paquetes de librería
Hay una gran cantidad de bibliotecas disponibles para los desarrolladores de .NET en NuGet. Algunos de ellos proceden de Microsoft, algunos de empresas de terceros y otros de miembros de la comunidad y voluntarios. Estas bibliotecas obtienen más revisiones y adopción cuando los desarrolladores pueden tener éxito con esas bibliotecas.
Además de proporcionar documentación, puede proporcionar analizadores y correcciones de código que encuentren y corrijan errores comunes de uso de la biblioteca. Estas correcciones inmediatas ayudarán a los desarrolladores a tener éxito más rápidamente.
Puede empaquetar analizadores y correcciones de código con la biblioteca en NuGet. En ese escenario, todos los desarrolladores que instalan el paquete NuGet también instalarán el paquete del analizador. Todos los desarrolladores que usan su biblioteca obtendrán inmediatamente instrucciones del equipo en forma de comentarios inmediatos sobre errores y correcciones sugeridas.
Proporcionar instrucciones generales
La comunidad de desarrolladores de .NET ha detectado, a través de la experiencia, los patrones que funcionan bien y los patrones que mejor se evitan. 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 pueden cargar en Visual Studio Marketplace y descargarlos los desarrolladores mediante Visual Studio. Los recién llegados al lenguaje y la plataforma aprenden rápidamente las prácticas aceptadas y se vuelven productivos antes en su recorrido de .NET. A medida que se usan más ampliamente, la comunidad adopta estas prácticas.
Generadores de código fuente
Los generadores de origen tienen como objetivo habilitar la metaprogramación en tiempo de compilación, es decir, el código que se puede crear en tiempo de compilación y agregar a la compilación. Los generadores de origen pueden leer el contenido de la compilación antes de ejecutarse, así como acceder a los archivos adicionales. Esta capacidad les permite inspeccionar tanto el código de usuario C# como los archivos específicos del generador. Puedes aprender a crear generadores de código fuente incrementales mediante el manual del generador de código fuente.
Pasos siguientes
El SDK de .NET Compiler Platform incluye los modelos de objetos de lenguaje más recientes para la generación, el análisis y la refactorización de código. En esta sección se proporciona información general conceptual del SDK de .NET Compiler Platform. Puede encontrar más detalles en las secciones inicios rápidos, ejemplos y tutoriales.
Puede obtener más información sobre los conceptos del SDK de .NET Compiler Platform en estos cinco temas:
- Exploración del código con el visualizador de sintaxis
- Descripción del modelo de API del compilador
- Trabajar con sintaxis
- Trabajar con semántica
- Trabajo con un área de trabajo
Para empezar, deberá instalar el SDK de .NET Compiler Platform:
Instrucciones de instalación: Instalador de Visual Studio
Hay dos maneras diferentes de encontrar el SDK de .NET Compiler Platform en el Instalador de Visual Studio:
Instalación mediante el Instalador de Visual Studio: vista Cargas de trabajo
El SDK de .NET Compiler Platform no se selecciona automáticamente como parte del conjunto de herramientas de desarrollo de extensiones de Visual Studio. Deba seleccionarlo como un componente opcional.
- Ejecución del 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.
- Marque la casilla para .NET Compiler Platform SDK. Lo encontrará en último lugar en los componentes opcionales.
Opcionalmente, también querrá que el editor DGML muestre gráficos en el visualizador:
- Abra el nodo Componentes individuales en el árbol de resumen.
- Active la casilla Editor de DGML.
Instalación mediante la pestaña Instalador de Visual Studio: componentes individuales
- Ejecución del instalador de Visual Studio
- Selección de Modificar
- Seleccione la pestaña Componentes individuales.
- Marque la casilla para .NET Compiler Platform SDK. Lo encontrará en la parte superior de la sección Compiladores, herramientas de compilación y entornos de ejecución .
Opcionalmente, también querrá que el editor DGML muestre gráficos en el visualizador:
- Active la casilla Editor de DGML. La encontrará en la sección Herramientas de código .