何时使用“静默”代码分析严重性?

Imr*_*vel 18 code-analysis visual-studio roslyn-code-analysis

分析器反馈严重性级别在文档中进行了解释。但在我看来 silentnone严重性级别似乎都有相同的含义 - “我不希望检查此规则”:

为了none

完全被压制了。

为了silent

对用户不可见。但是,诊断结果会报告给 IDE 诊断引擎。

VS2019“向IDE报告”到底有什么效果,在什么场景下应该更silent喜欢none

Vim*_*mes 13

我认为silent在编辑器中显示为“三点”或幻影文本,而none没有显示。我可能记得这在过去表现得不一致,但它似乎发生在 Visual Studio 16.10.0 中。我喜欢伊姆雷的建议

在此输入图像描述

这好像是:

  • suggestionerror、 和warning显示在编辑器和错误列表中。
  • silent仅显示在编辑器中。
  • none两者都没有出现。


Dre*_*kes 7

文档中解释了这种区别:

\n
\n

Hidden默认情况下启用的(静默)严重性规则None在某些方面与禁用或严重性规则不同。

\n
    \n
  • 如果为严重性规则注册了任何代码修复Hidden,即使隐藏的诊断对用户不可见,Visual Studio 也会以灯泡代码重构操作的形式提供修复。如果严重性规则被禁用为 ,则不会提供修复None
  • \n
  • Hidden严重性规则可以通过在 EditorConfig 文件中同时设置多个分析器规则的规则严重性的条目来批量配置。None严重性规则不能以这种方式配置。相反,必须通过在 EditorConfig 文件中为每个规则 ID 设置规则严重性的条目来配置它们。
  • \n
\n
\n


Imr*_*vel 5

由于缺乏更好的信息,并且在被证明是错误的之前,我认为它们在实际效果上是相同的。

尽管如此,考虑到这是一个定义有用的语义差异的机会,我建议:

  • none当您反对所选范围内的给定规则时使用。这条规则不是强制性的。
  • 用于 silent必须遵守的规则,但会造成太多噪音,并在仍传达所需目标状态的同时被暂时抑制。