在 Visual Studio 2015 中为自定义代码分析器抑制警告

Posted

技术标签:

【中文标题】在 Visual Studio 2015 中为自定义代码分析器抑制警告【英文标题】:Suppress warnings in Visual Studio 2015 for custom code analyzers 【发布时间】:2015-08-19 02:43:24 【问题描述】:

在 Visual Studio 中,当您对项目或解决方案运行代码分析时,您可以通过 right click on the analysis warning/error 并选择“抑制消息”以在代码中插入 SuppressMessageAttribute

根据我自己的观察,这个功能似乎只适用于传统的 FxCop/代码分析警告。

是否有可能(或者是否有 Visual Studio 扩展)为新的 2015 Code Analyzers 提供类似的功能(例如,通过 NuGet 安装的自定义分析器)?

【问题讨论】:

【参考方案1】:

是的,这是可能的。我正在使用带有 Update 1 的 Visual Studio 2015,并且我安装了两个实时分析器 - SonarLint 和 CodeCracker。在我的错误列表窗口中,我可以右键单击任何警告并将其隐藏在抑制文件中。 PFB 我已将来自 CodeCracker Analyzer 的警告消息抑制到全局抑制文件中的屏幕截图。

VS 2015 Update 1 还提供了一个很棒的代码分析功能,您可以在其中查看仅针对您的代码更改的警告/消息。在错误窗口中选择“Changed Documents”过滤器将仅显示与您进行了修改的文件有关的警告 - 因此使用起来非常方便。 p>

这适用于您可以添加到 Visual Studio IDE 的任何实时代码分析器。

【讨论】:

哈..看起来你是对的。我唯一的问题是,如果您选择“源中抑制”,它会插入#pragma 指令。如果每个人都在使用 2015,那很好,但是如果您正在与使用旧版本的人一起处理代码,那么您需要使用 SuppressMessage 属性。【参考方案2】:

是的:

[System.Diagnostics.CodeAnalysis.SuppressMessage(...)]

【讨论】:

我已经在我的问题中提到了该属性。我在询问 Visual Studio 中的 UI 功能,该功能将自动插入属性

以上是关于在 Visual Studio 2015 中为自定义代码分析器抑制警告的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2015 中为 Typescript 的 typings.json 添加类型?

在 Visual Studio 2015 中为调试模式运行 iisexpress 32 位而不是 64 位

Visual Studio 2015的安装及单元测试练习

如何在 Visual Studio 2013 中为 sqlite 配置实体框架 6

如何在 Visual Studio 2013 中为 Cordova 应用程序启用断点

在 Visual Studio 中为单个解决方案编译和使用多个项目