c# - DiagnosticDescriptor 构造函数的新参数的相关性?

标签 c# .net roslyn

我使用 Install-Package Microsoft.CodeAnalysis -Pre 来更新我的解决方案的引用,显然现在 DiagnosticDescriptor 的构造函数现在接受另外两个参数.

  1. isEnabledByDefault:bool - 如果默认情况下启用诊断,则为 True
  2. customTags:string - 用于诊断的可选自定义标签。请参阅 WellKnownDiagnosticTags 了解一些众所周知的标签

WellKnownDiagnosticTags 定义了两个标签 UnnecessaryEditAndContinue

这些在构造 DiagnosticDescriptor 时起什么作用?

最佳答案

isEnabledByDefault 是不言自明的:它控制首次添加分析器引用时是否应启用诊断。这里的场景是您的分析器中可能有一堆单独的诊断信息,但并非所有诊断信息都是您想要强加给毫无戒心的用户的。

customTags 是一种通用方法,用于标记应以与正常诊断稍有不同的方式处理或显示诊断。 “不必要的”标签意味着在 IDE 中我们淡出诊断适用的范围:这就是我们在 IDE 中淡出不必要的使用或转换等的方式。在一些奇特的场景中,您可能想要定义自己的,但在大多数情况下,如果您想要不同的 UI 处理,您可以将其留空或传递 Unnecessary。 EditAndContinue 标记用于处理无法应用“编辑并继续”编辑时创建的错误(显示方式也有所不同)...仅供我们使用。

关于c# - DiagnosticDescriptor 构造函数的新参数的相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24257222/

相关文章:

javascript - 如何将位图从 ASP.NET 传递到 JavaScript 并显示它?

c# - 如何通过可重现的操作从 4 个字节生成 8 个字节?

.net - SplashScreen.Close() 窃取 MainWindow 的焦点

c# - 通过 roslyn 在语句后插入新表达式

c# - 降低了罗斯林的行动

c# 如何将三角形水平排成一行?

c# - 你如何在 Ruby 中实现多态性?

c# - HTTPOnly 将 cookie 过期时间设置为 session

.net - 从数据库中获取整数前的零

c# - 使用 msbuildworkspace 打开解决方案会给出没有详细信息的诊断错误