Les analyseurs Unity sont désormais open-source

Notre équipe de développement d'outils Visual Studio pour Unity voit sa mission dans l'amélioration de la productivité des développeurs Unity . Dans Visual Studio 2019, des collègues ont présenté les outils Unity, un ensemble de diagnostics et de correctifs de code spécifiques à Unity. Aujourd'hui, nous sommes heureux d'annoncer que les analyseurs Unity sont devenus Open Source . Détails sous la coupe.



Analyseurs Unity


Visual Studio et Visual Studio pour Mac sont affiliés à Roslyn , notre infrastructure de compilation, pour fournir une expérience de programmation C # fantastique. L'une des fonctionnalités préférées de Roslyn est la possibilité d'inviter par programmation les développeurs lors de l'utilisation de l'API. Sur la base de cette expérience, l'analyseur découvre un modèle de code et peut proposer de le remplacer par un modèle plus recommandé.

Un exemple typique de l'API Unity est la comparaison de balises sur des objets de jeu. Pourriez-vous Ă©crire

collision.gameObject.tag == "enemy";

Pour comparer les balises



Mais Unity propose la méthode CompareTag , qui est plus efficace, nous avons donc implémenté des diagnostics CompareTag qui détectent ce modèle et suggèrent d'utiliser une méthode plus optimisée à la place. Sous Windows, appuyez simplement sur (CTRL +.) Ou appuyez sur (Alt-Entrée) dans Visual Studio pour Mac pour activer les correctifs rapides et un aperçu de la modification vous sera proposé:



nous avons actuellement une douzaine d'analyseurs qui sont dans les outils Unity, et plus est en cours de création en ce moment.

Améliorer l'expérience par défaut


L'équipe de Roslyn a récemment introduit des anti-brouilleurs. Cette fonctionnalité nous permet de supprimer par programme l'ensemble d'analyseurs par défaut fourni avec Roslyn.

C'est très bien pour les développeurs Unity car cela permet à notre équipe Tools for Unity de supprimer les avertissements ou suggestions de correction de code qui ne sont pas liés au développement Unity.

Un exemple typique est les champs décorés avec des attributs Unity SerializeField ., pour mettre les champs en surbrillance dans l'inspecteur Unity. Par exemple, sans analyseurs Unity, Visual Studio proposera de rendre le champ sérialisé en lecture seule, alors que nous savons que le mécanisme Unity définit la valeur de ce champ. Si vous acceptez ce correctif de code, Unity supprimera tout lien que vous avez créé dans l'inspecteur pour ce champ, ce qui pourrait tout casser. En écrivant un suppresseur, nous pouvons supprimer par programmation ce comportement, en le laissant activé pour les champs C # standard.

DĂ©jĂ  disponible


Aujourd'hui, les analyseurs Unity sont livrés dans le cadre des outils pour Unity et sont inclus avec Visual Studio et Visual Studio pour Mac. Les analyseurs fonctionnent dans Visual Studio. Cela signifie que si vous supprimez l'avertissement, vous pouvez toujours le voir dans la liste d'erreurs Unity. Nous travaillons à améliorer cela pour une future version.

Partagez vos astuces de vie


L'équipe Tools for Unity dispose d'un arriéré d'analyseurs, de correctifs de code et de suppresseurs sur lesquels nous travaillons, mais nous recherchons toujours de nouveaux analyseurs qui amélioreront l'expérience de programmation C # pour les développeurs Unity. Le projet est facile à aider. Accédez simplement à notre fichier README et proposez un nouvel analyseur ou même envoyez une demande au référentiel.

A bientĂ´t sur GitHub!

All Articles