此示例使用 ErrorProne.NET.CoreAnalyzers 库演示如何从 NuGet 安装代码分析器或源代码生成器。
errorprone.net.coreanalyzers<version-number>\analyzers\dotnet\cs
。所需的的文件应位于此文件夹中,名为 ErrorProne.NET.Core.dll
、ErrorProne.Net.CoreAnalyzers.dll
和 RuntimeContracts.dll
。RoslynAnalyzer
并按回车键。此标签必须与示例完全匹配,并且区分大小写。创建第一个分析器的标签后,它会显示在资源标签子菜单中可用标签的列表中。您可以点击菜单中标签的名称将其分配给其他分析器。Unity 识别 RoslynAnalyzer 标签并将带有此标签的资源视为 Roslyn 分析器或源代码生成器。当您将标签分配给分析器时,Unity 会重新编译脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性并以任何您喜欢的方式响应用户输入。 更多信息
参见 术语表,并在分析器范围内分析这些脚本中的代码,并根据分析器中的规则进行分析。与分析器位于同一程序集定义中的任何脚本都在该分析器的范围内。对于 Assets 文件夹根目录中的分析器,Unity 会认为项目中的所有文件都在范围内。有关范围的更多信息,请参阅上面分析器范围。
要测试您的分析器是否正常工作,请按照以下示例操作。如果您已正确安装分析器,则 ErrorProne.NET 分析器在分析示例中的代码时会发出警告。
创建一个名为 RethrowError.cs
的新脚本文件。将以下代码复制到此脚本中并保存文件。
using System;
using UnityEngine;
public class RethrowError : MonoBehaviour
{
void Update()
{
try
{
DoSomethingInteresting();
}
catch (Exception e)
{
Debug.Log(e.Message);
throw e;
}
}
private void DoSomethingInteresting()
{
throw new System.NotImplementedException();
}
}
保存文件后,Unity 会重新编译脚本并在脚本的代码上运行任何适用的分析器。当 ErrorProne.NET 分析器正确安装后,它会在控制台窗口一个 Unity 编辑器窗口,显示 Unity 或您自己的脚本生成的错误、警告和其他消息。 更多信息
参见 术语表中针对上述代码发出以下警告。
Assets\RethrowError.cs(14,23): warning EPC12: 可疑的异常处理:仅在异常块中观察到 e.Message。
Assets\RethrowError.cs(15,19): warning ERP021: 错误的异常传播。使用 throw; 代替。