Unity分析仪现已开源

我们用于Unity的Visual Studio工具开发团队看到了提高Unity开发人员生产力的使命在Visual Studio 2019中,同事们介绍了Unity工具,一组特定于Unity的诊断程序和代码修复程序。今天,我们很高兴地宣布Unity Analyzers已成为Open Source细节剪下。



Unity分析仪


Visual Studio和Visual Studio for Mac与我们的编译器基础结构Roslyn关联,可提供出色的C#编程体验。 Roslyn最喜欢的功能之一是能够在使用API​​时以编程方式提示开发人员。基于此经验,分析人员会发现代码模板,并可能建议使用更推荐的模板来替换它。

Unity API的一个典型示例是比较游戏对象上的标签。你能写吗

collision.gameObject.tag == "enemy";

比较标签



但是Unity提供了更高效CompareTag方法,因此我们实现了CompareTag诊断程序,它将检测这种模式并建议使用更优化的方法。在Windows上,只需按(CTRL +。)或在Mac上的Visual Studio中按(Alt-Enter)以激活快速修复,然后将为您提供更改的预览:



我们目前在Unity工具中十几个解析器,现在正在创建更多。

改善默认体验


罗斯林团队最近推出了抗干扰器。此功能使我们能够以编程方式禁止Roslyn随附的默认分析仪集。

这对Unity开发人员来说非常有用,因为它允许我们的Unity工具团队删除警告或建议,以修正与Unity开发无关的代码。

一个典型的示例是用Unity SerializeField属性修饰的字段。,以突出显示Unity Inspector中的字段。例如,如果没有Unity分析器,Visual Studio将提供使序列化字段为只读的功能,而我们知道Unity机制会设置该字段的值。如果您接受此代码补丁,则Unity会删除您在Inspector中为此字段创建的任何链接,这可能会破坏所有内容。通过编写抑制器,我们可以以编程方式抑制此行为,将其启用以用于标准C#字段。

已经有


今天,Unity分析器作为Unity工具的一部分提供,并随Visual Studio和Visual Studio for Mac一起提供。分析器在Visual Studio中工作。这意味着,如果取消警告,您仍然可以在Unity错误列表中看到它。我们正在努力对此进行改进,以便将来发布。

分享您的生活技巧


Unity工具团队拥有大量的分析器,代码修复和抑制器,我们正在努力,但我们一直在寻找新的分析器,以改善Unity开发人员的C#编程体验。该项目易于帮助。只需转到我们的自述文件并建议一个新的分析器,甚至向存储库发送请求即可。

在GitHub上见!

All Articles