
Este artículo explica cómo un analizador Roslyn puede ayudarte a depurar y mejorar la calidad de tu código de juego en Unity.
Un analizador Roslyn es una herramienta de análisis de código que utiliza las API de la plataforma del compilador Roslyn para analizar código C# en tiempo real. Un analizador puede proporcionar sugerencias de mejora de código, advertencias o errores basados en un conjunto de reglas predefinidas. Funciona como un complemento para Microsoft Visual Studio y Microsoft Visual Studio Code, complementando las capacidades de IntelliSense en ambos editores de código.
Los analizadores Roslyn se basan en las sugerencias, completaciones e información sobre las API disponibles proporcionadas por IntelliSense, con herramientas adicionales para analizar e identificar problemas potenciales en tu código. Además, recibirás sugerencias para posibles soluciones utilizando las API de una plataforma de compilador Roslyn.
Los analizadores Roslyn son útiles para hacer cumplir estándares y advertirte si violas una convención de código. Además, a menudo pueden ayudar a corregir esos errores de código o violaciones de estilo.
Visual Studio viene con muchos analizadores predeterminados que son parte del repositorio de código abierto para Roslyn y un buen recurso para aprender más sobre depuración con este método.
Nota: La mayor parte de este artículo se aplica solo a Windows. Los analizadores Roslyn también están disponibles para usar con Visual Studio para macOS, pero el soporte para inspeccionarlos es limitado en comparación con lo que está disponible para Windows.

La imagen de arriba es de un video que muestra un uso típico de un analizador Roslyn. En este ejemplo, un análisis del código ha detectado una variable no utilizada. El desarrollador es informado de este problema porque la variable count está subrayada con una línea ondulada verde. Al hacer clic en ella, se muestra el problema y un enlace con opciones para solucionarlo. En el video, el desarrollador elige eliminar la variable no utilizada según la recomendación.
Además de una línea ondulada verde, podrías ver una línea ondulada roja o puntos grises. Estos diferentes símbolos denotan el nivel de seguridad del problema, o cuán grave es el problema para tu código.

Como muestra la tabla anterior, cada analizador tiene un nivel de severidad configurable por el usuario.

Hay varios analizadores de Roslyn disponibles, pero Visual Studio también viene con algunos preinstalados. Puedes ajustar la configuración de estos analizadores integrados en dos lugares. Para tu versión local de Visual Studio, la configuración predeterminada se ajusta a través de Herramientas > Opciones > Editor de texto > C# > Estilo de código > General. Puedes cambiar el nivel de severidad utilizando el cuadro de diálogo que se muestra en la imagen anterior.

La imagen anterior es de una clase de código simple. El símbolo de elipsis (tres puntos en una línea) debajo de las letras p y o en pos en la línea 7 y la declaración if en la línea 11 indican una sugerencia. La línea ondulada verde debajo de distance es una advertencia, y la línea ondulada roja debajo de las dos instancias de xPos en la línea 11 es un error. Las advertencias y errores también aparecerán en la ventana de Lista de Errores.

Notarás que la imagen que muestra la configuración para los analizadores integrados alterna entre Solo refactorización y la sugerencia para Preferencias de bloque de código: Preferir llaves. Solo refactorización ocultaría la elipsis debajo de la declaración if.
Si la configuración para Preferir llaves es una sugerencia y pasas el cursor sobre los puntos suspensivos, verás un panel que muestra un enlace asoluciones potenciales. Hacer clic en esto muestra otro panel con las opciones disponibles. En este caso, solo hay una opción disponible, agregar llaves al código. La imagen de arriba muestra esta secuencia.
Si deseas asegurar el estilo de código para un proyecto específico, puedes agregar un .editorconfig que se envía con el proyecto. Esta puede ser una forma eficiente de hacer cumplir las reglas de estilo de código acordadas en un equipo más grande de muchos desarrolladores.
Un archivo .editorconfig te permite anular la configuración en tu versión de Visual Studio a través de Herramientas > Opciones > Editor de texto > C#. Incluso puedes anidar múltiples archivos .editorconfig si es necesario, colocando uno en la raíz y otro en una subcarpeta. El que está en la subcarpeta anulará el que está en la raíz.
Las siguientes secciones describen cómo agregar un archivo .editorconfig.

Cambia el nivel de severidad de un analizador incluido en una ventana de texto de código.

Haz clic derecho en el Explorador de Soluciones y elige Nuevo Elemento. En el siguiente panel, elige Instalado > C# > Archivo editorconfig general (predeterminado).
Otra opción es seleccionar Generar archivo .editorconfig desde la configuración en el panel Herramientas > Opciones > Editor de texto > C# (como se ve en la imagen bajo Configurar analizadores integrados).

Ahora que tienes un archivo .editorconfig, Visual Studio (versión de Windows) muestra una vista editable del archivo de texto en segundo plano. Los cambios en este archivo afectarán a los scripts de C# en la carpeta donde se guarda el .editorconfig y en cualquier subcarpeta.

Puedes extender la funcionalidad añadiendo a los analizadores de Roslyn preinstalados. Los analizadores se instalan como paquetes NuGet o extensiones de Visual Studio (archivos VSIX). Ve a www.nuget.org para el proceso de instalación del paquete NuGet. Uno popular es el StyleCop.Analyzers, que busca problemas de estilo en tu base de código.
Instala el paquete en Visual Studio usando la Consola del Administrador de Paquetes a través de Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes. La página www.nuget.org para cada paquete de analizador te muestra el comando para pegar en la Consola del Administrador de Paquetes. Incluso hay un botón útil para copiar el texto al portapapeles.

Los ensamblajes de analizador se instalan y aparecen en el Explorador de Soluciones bajo Referencias > Analizadores.

Otra opción es instalar analizadores proporcionados como extensiones VSIX. En Visual Studio, selecciona Extensiones > Administrar Extensiones.
Si conoces el nombre de la extensión, usa el campo de búsqueda para encontrarla o simplemente busca "analizador". La imagen de arriba muestra Analizador de Comentarios seleccionado. Haz clic en Descargar para instalar la extensión del analizador, selecciona Aceptar para cerrar el cuadro de diálogo y cierra todas las instancias de Visual Studio para lanzar el Instalador de VSIX.
Selecciona Modificar para comenzar la instalación. Una vez que se complete la instalación, selecciona Cerrar y vuelve a abrir Visual Studio.

Si deseas verificar si la extensión está instalada, selecciona Extensiones > Administrar extensiones. En el cuadro de diálogo Administrar extensiones, selecciona la categoría Instaladas a la izquierda y luego busca la extensión por nombre.

Este artículo se centró en los analizadores integrados de Roslyn disponibles con Visual Studio, pero también puedes crear los tuyos propios. Los analizadores construidos utilizando la plataforma del compilador .NET pueden mejorar drásticamente la calidad del código de tu equipo.
A medida que adquieras experiencia en la creación de analizadores, notarás cómo ayudan a tu equipo a ser más productivo con problemas de codificación como sintaxis, ediciones repetitivas, orientación con una nueva biblioteca y más.
Un par de buenos recursos adicionales de Microsoft incluyen este tutorial sobre cómo crear tu propio analizador de Roslyn en C# y este video de YouTube sobre analizadores de Roslyn.
Depuración en Unity
Obtén más consejos sobre cómo depurar tu proyecto de Unity en estos artículos:
Libros electrónicos técnicos avanzados
Unity proporciona una serie de guías avanzadas para ayudar a los desarrolladores profesionales a optimizar el código del juego. Crea una guía de estilo de C#: Escribe código más limpio que escale compila consejos de expertos de la industria sobre cómo crear una guía de estilo de código para ayudar a tu equipo a desarrollar una base de código limpia, legible y escalable.
Otra guía popular entre nuestros usuarios es 70+ consejos para aumentar la productividad con Unity. Está repleta de consejos que ahorran tiempo para mejorar tu flujo de trabajo diario agregado con Unity 2020 LTS – consejos que incluso los desarrolladores experimentados podrían haber pasado por alto.
Encuentra todos los libros electrónicos y artículos avanzados de Unity en el centro de mejores prácticas de Unity.