Unity Analyzer jetzt Open Source

Unser Visual Studio-Tool-Entwicklungsteam für Unity sieht seine Mission darin, die Produktivität von Unity- Entwicklern zu verbessern . In Visual Studio 2019 führten Kollegen Unity-Tools ein, eine Reihe von Diagnose- und Codekorrekturen, die für Unity spezifisch sind. Heute freuen wir uns, Ihnen mitteilen zu können, dass Unity Analyzer zu Open Source geworden sind . Details unter dem Schnitt.



Einheitsanalysatoren


Visual Studio und Visual Studio für Mac sind mit Roslyn , unserer Compiler-Infrastruktur, verbunden, um ein fantastisches C # -Programmiererlebnis zu bieten. Eine der beliebtesten Funktionen von Roslyn ist die Möglichkeit, Entwickler bei der Verwendung der API programmgesteuert aufzufordern. Basierend auf dieser Erfahrung erkennt der Analysator eine Codevorlage und schlägt möglicherweise vor, sie durch eine empfohlene Vorlage zu ersetzen.

Ein typisches Beispiel für die Unity-API ist der Vergleich von Tags auf Spielobjekten. Könnten Sie schreiben

collision.gameObject.tag == "enemy";

Vergleichen von Tags



Da Unity jedoch die CompareTag- Methode anbietet , die effizienter ist, haben wir eine CompareTag-Diagnose implementiert , die dieses Muster erkennt und stattdessen die Verwendung einer optimierten Methode vorschlägt. Drücken Sie unter Windows einfach (STRG +) oder drücken Sie (Alt-Eingabetaste) in Visual Studio für Mac, um Schnellkorrekturen zu aktivieren, und Sie erhalten eine Vorschau der Änderung:



Derzeit gibt es ein Dutzend Parser in Unity-Tools. und gerade wird mehr geschaffen.

Verbesserung der Standarderfahrung


Das Roslyn-Team hat kürzlich Anti-Störsender eingeführt. Mit dieser Funktion können wir den mit Roslyn gelieferten Standardanalysatorsatz programmgesteuert unterdrücken.

Dies ist ideal für Unity-Entwickler, da unser Tools for Unity-Team Warnungen oder Vorschläge zum Beheben von Code entfernen kann, die nicht mit der Unity-Entwicklung zusammenhängen.

Ein typisches Beispiel sind Felder, die mit Unity SerializeField- Attributen dekoriert sind., um Felder im Unity Inspector hervorzuheben. Ohne Unity-Analysatoren bietet Visual Studio beispielsweise an, das serialisierte Feld schreibgeschützt zu machen, während wir wissen, dass der Unity-Mechanismus den Wert dieses Felds festlegt. Wenn Sie diesen Code-Patch akzeptieren, entfernt Unity alle Links, die Sie im Inspector für dieses Feld erstellt haben, wodurch alles beschädigt werden könnte. Durch Schreiben eines Suppressors können wir dieses Verhalten programmgesteuert unterdrücken und für Standard-C # -Felder aktivieren.

Schon verfügbar


Heute werden Unity Analyzer als Teil von Tools for Unity ausgeliefert und sind in Visual Studio und Visual Studio für Mac enthalten. Analysatoren arbeiten in Visual Studio. Wenn Sie die Warnung unterdrücken, wird sie weiterhin in der Unity-Fehlerliste angezeigt. Wir arbeiten daran, dies für eine zukünftige Version zu verbessern.

Teilen Sie Ihre Lebenshacks


Das Tools for Unity-Team verfügt über einen Rückstand an Analysatoren, Codekorrekturen und Suppressoren, an denen wir arbeiten. Wir sind jedoch immer auf der Suche nach neuen Analysatoren, die die C # -Programmiererfahrung für Unity-Entwickler verbessern. Das Projekt ist leicht zu helfen. Gehen Sie einfach zu unserer README und schlagen Sie einen neuen Analysator vor oder senden Sie sogar eine Anfrage an das Repository.

Wir sehen uns auf GitHub!

All Articles