什么时候使用“静默”代码分析严重性?

When to use `silent` code analysis severity?

分析器反馈严重级别为 explained in the documentation。但在我看来 silentnone 严重级别似乎都具有相同的含义 - "I don't want this rule checked for":

对于none

Suppressed completely.

对于silent

Non-visible to user. The diagnostic is reported to the IDE diagnostic engine, however.

"reporting to IDE"对VS2019到底有什么影响,在什么情况下应该更喜欢silent而不是none

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

不过,考虑到这是定义有用的语义差异的机会,我建议:

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

我认为 silent 在编辑器中显示为“三点”或重影文本,而 none 未显示。我可能记得这在过去表现不一致,但它似乎发生在 Visual Studio 16.10.0 中。我喜欢 .

好像是:

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