我使用 Install-Package Microsoft.CodeAnalysis -Pre
来更新我的解决方案的引用,显然现在 DiagnosticDescriptor
的构造函数现在接受另外两个参数.
isEnabledByDefault
:bool
- 如果默认情况下启用诊断,则为 TruecustomTags
:string
- 用于诊断的可选自定义标签。请参阅WellKnownDiagnosticTags
了解一些众所周知的标签
WellKnownDiagnosticTags
定义了两个标签 Unnecessary
和 EditAndContinue
这些在构造 DiagnosticDescriptor
时起什么作用?
最佳答案
isEnabledByDefault
是不言自明的:它控制首次添加分析器引用时是否应启用诊断。这里的场景是您的分析器中可能有一堆单独的诊断信息,但并非所有诊断信息都是您想要强加给毫无戒心的用户的。
customTags
是一种通用方法,用于标记应以与正常诊断稍有不同的方式处理或显示诊断。 “不必要的”标签意味着在 IDE 中我们淡出诊断适用的范围:这就是我们在 IDE 中淡出不必要的使用或转换等的方式。在一些奇特的场景中,您可能想要定义自己的,但在大多数情况下,如果您想要不同的 UI 处理,您可以将其留空或传递 Unnecessary。 EditAndContinue 标记用于处理无法应用“编辑并继续”编辑时创建的错误(显示方式也有所不同)...仅供我们使用。
关于c# - DiagnosticDescriptor 构造函数的新参数的相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24257222/