Unity Analyzers ahora de código abierto

Nuestro equipo de desarrollo de herramientas de Visual Studio para Unity ve su misión en mejorar la productividad de los desarrolladores de Unity . En Visual Studio 2019, los colegas presentaron las herramientas de Unity, un conjunto de diagnósticos y correcciones de código específicos de Unity. Hoy nos complace anunciar que Unity Analyzers se ha convertido en Open Source . Detalles debajo del corte.



Analizadores de unidad


Visual Studio y Visual Studio para Mac están afiliados a Roslyn , nuestra infraestructura de compilación, para proporcionar una fantástica experiencia de programación en C #. Una de las características favoritas de Roslyn es la capacidad de solicitar a los desarrolladores mediante programación que utilicen la API. En base a esta experiencia, el analizador descubre una plantilla de código y puede proponer reemplazarla con una plantilla más recomendada.

Un ejemplo típico de la API de Unity es la comparación de etiquetas en los objetos del juego. Podrías escribir

collision.gameObject.tag == "enemy";

Para comparar etiquetas



Pero Unity ofrece el método CompareTag , que es más eficiente, por lo que implementamos diagnósticos CompareTag que detectarán este patrón y sugerirán utilizar un método más optimizado. En Windows, simplemente presione (CTRL +.) O presione (Alt-Enter) en Visual Studio para Mac para activar soluciones rápidas y se le ofrecerá una vista previa del cambio:



actualmente tenemos una docena de analizadores que están en las herramientas de Unity, y se está creando más en este momento.

Mejorando la experiencia predeterminada


El equipo de Roslyn introdujo recientemente anti-jammers. Esta característica nos permite suprimir mediante programación el conjunto de analizadores predeterminado que viene con Roslyn.

Esto es excelente para los desarrolladores de Unity porque permite que nuestro equipo de Herramientas para Unity elimine advertencias o sugerencias para corregir códigos que no están relacionados con el desarrollo de Unity.

Un ejemplo típico son los campos decorados con los atributos de Unity SerializeField ., para resaltar campos en Unity Inspector. Por ejemplo, sin los analizadores de Unity, Visual Studio ofrecerá hacer que el campo serializado sea de solo lectura, mientras sabemos que el mecanismo de Unity establece el valor de este campo. Si acepta este parche de código, Unity eliminará cualquier enlace que haya hecho en el Inspector para este campo, lo que podría romper todo. Al escribir un supresor, podemos suprimir este comportamiento mediante programación, dejándolo habilitado para los campos C # estándar.

Ya disponible


Hoy, los analizadores de Unity se envían como parte de Tools for Unity y se incluyen con Visual Studio y Visual Studio para Mac. Los analizadores trabajan en Visual Studio. Esto significa que si suprime la advertencia, aún puede verla en la lista de errores de Unity. Estamos trabajando para mejorar esto para un lanzamiento futuro.

Comparte tus trucos de la vida


El equipo de Tools for Unity tiene una acumulación de analizadores, correcciones de código y supresores en los que estamos trabajando, pero siempre estamos buscando nuevos analizadores que mejoren la experiencia de programación C # para los desarrolladores de Unity. El proyecto es fácil de ayudar. Simplemente vaya a nuestro archivo README y sugiera un nuevo analizador o incluso envíe una solicitud al repositorio.

¡Nos vemos en GitHub!

All Articles