抑制 Visual Studio 中所有项目的警告
Suppress a warning for all projects in Visual Studio
我看到了显示如何抑制针对特定代码行或特定项目的警告的答案。我不要那个。
我想取消对我的 所有 个项目的特定警告。
(如果重要,警告是 IDE0044。我正在使用 C#。)
您可以使用 System.Diagnostics.CodeAnalysis
命名空间下的 SuppressMessage
属性,例如
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "args")]
好吧,正如您编辑的那样我想取消对我所有项目的特定警告
你不能对整个项目明智的 AFAIK 这样做。但如果有帮助,请检查一次链接 post
IDE0044 是 "add readonly modifier" 那么为什么不直接添加修饰符呢?
警告告诉你你做错了什么,但应用程序会编译。
理想情况下最好是零警告。
您可以尝试使用 Directory.Build.props adding NoWarn 属性 来获取特定的警告。不过我还没有验证。
正如另一个回答中所说,最好是解决根本原因而不是忽略它。
最近 Visual Studio 2017 (15.7.1) 的更新现在有一个选项。在 Tools->Options
菜单下,select TextEditor->C#->Code Style->General
选项卡。在Field preferences
下,有一个Prefer readonly
选项。将其设置为 No
.
还有一个 editorconfig
设置可以设置,如果你想在你的代码旁边检查这个首选项,这样使用你的代码的其他人就不会收到警告,但必须这样做在每个解决方案的基础上。您要设置的 editorconfig
值为:
dotnet_style_readonly_field = false:none
要抑制所有项目的警告,您需要在顶级目录中创建一个 .editorconfig
文件。 例如,我在 trunk 中有我的,我将其提交到源代码管理,以便我的同事共享相同的设置。
此文件中的设置适用于主干和子文件夹中的所有项目,除非被文件夹树下方的另一个 .editorconfig
文件覆盖,例如您可能在具有不同设置的子文件夹中有一个项目特定的 EditorConfig 文件。有关详细信息,请参阅 File hierarchy and precedence。
正在创建 EditorConfig 文件
如果您只想更改一个特定设置,则可以使用文本编辑器。但是,Visual Studio 可以为您创建一个具有 .NET 合理默认值的 .editorconfig
文件。来自 MSDN:
新建项目
从菜单栏中选择 项目 > 添加新项目;或按 Ctrl+Shift+A
Select editorconfig File (.NET)
模板,用于添加预填充了默认 .NET 代码样式、格式和命名约定的 EditorConfig 文件
- 可选择删除项目 - 我们真的不需要它
Visual Studio 2019 - 从当前设置创建 EditorConfig 文件
在 Visual Studio 2019 年,您可以改为 create an EditorConfig file from your current settings。只需在 Text Editor > C# > Code Style > General
下的 Options 对话框中单击以下按钮:
如果您在文本编辑器中创建,您可能需要在文件顶部使用它,并根据需要进行调整:
# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true
# C# files
[*.cs]
在编辑器配置文件中禁用 IDE0044
要专门禁用 IDE0044,请在 .editorconfig
文件中添加或更改以下设置:
dotnet_style_readonly_field = false:none
(在Visual Studio2019中,可以在Options中将TextEditor-> C# -> Code Style-> General
下的Prefer readonly
选项设置为No
,然后按上面详述的 Generate .editorconfig file from settings
按钮。
我想补充一下 Stephen 的 post,他的 .editorconfig
文件解决方案在没有指定我要应用规则的文件的情况下对我没有用。例如,假设我想对所有测试文件应用一个规则,并且我遵循以 "Tests.cs" 结尾的命名约定,我已经设法通过使用忽略了这些文件中的 CA1707 规则以下规则:
[*Tests.cs]
dotnet_diagnostics.CA1707.severity = none
关于我的回答的更多信息
我看到了显示如何抑制针对特定代码行或特定项目的警告的答案。我不要那个。
我想取消对我的 所有 个项目的特定警告。
(如果重要,警告是 IDE0044。我正在使用 C#。)
您可以使用 System.Diagnostics.CodeAnalysis
命名空间下的 SuppressMessage
属性,例如
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "args")]
好吧,正如您编辑的那样我想取消对我所有项目的特定警告
你不能对整个项目明智的 AFAIK 这样做。但如果有帮助,请检查一次链接 post
IDE0044 是 "add readonly modifier" 那么为什么不直接添加修饰符呢?
警告告诉你你做错了什么,但应用程序会编译。
理想情况下最好是零警告。
您可以尝试使用 Directory.Build.props adding NoWarn 属性 来获取特定的警告。不过我还没有验证。
正如另一个回答中所说,最好是解决根本原因而不是忽略它。
最近 Visual Studio 2017 (15.7.1) 的更新现在有一个选项。在 Tools->Options
菜单下,select TextEditor->C#->Code Style->General
选项卡。在Field preferences
下,有一个Prefer readonly
选项。将其设置为 No
.
还有一个 editorconfig
设置可以设置,如果你想在你的代码旁边检查这个首选项,这样使用你的代码的其他人就不会收到警告,但必须这样做在每个解决方案的基础上。您要设置的 editorconfig
值为:
dotnet_style_readonly_field = false:none
要抑制所有项目的警告,您需要在顶级目录中创建一个 .editorconfig
文件。 例如,我在 trunk 中有我的,我将其提交到源代码管理,以便我的同事共享相同的设置。
此文件中的设置适用于主干和子文件夹中的所有项目,除非被文件夹树下方的另一个 .editorconfig
文件覆盖,例如您可能在具有不同设置的子文件夹中有一个项目特定的 EditorConfig 文件。有关详细信息,请参阅 File hierarchy and precedence。
正在创建 EditorConfig 文件
如果您只想更改一个特定设置,则可以使用文本编辑器。但是,Visual Studio 可以为您创建一个具有 .NET 合理默认值的 .editorconfig
文件。来自 MSDN:
新建项目
从菜单栏中选择 项目 > 添加新项目;或按 Ctrl+Shift+A
Select
editorconfig File (.NET)
模板,用于添加预填充了默认 .NET 代码样式、格式和命名约定的 EditorConfig 文件
- 可选择删除项目 - 我们真的不需要它
Visual Studio 2019 - 从当前设置创建 EditorConfig 文件
在 Visual Studio 2019 年,您可以改为 create an EditorConfig file from your current settings。只需在 Text Editor > C# > Code Style > General
下的 Options 对话框中单击以下按钮:
如果您在文本编辑器中创建,您可能需要在文件顶部使用它,并根据需要进行调整:
# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true
# C# files
[*.cs]
在编辑器配置文件中禁用 IDE0044
要专门禁用 IDE0044,请在 .editorconfig
文件中添加或更改以下设置:
dotnet_style_readonly_field = false:none
(在Visual Studio2019中,可以在Options中将TextEditor-> C# -> Code Style-> General
下的Prefer readonly
选项设置为No
,然后按上面详述的 Generate .editorconfig file from settings
按钮。
我想补充一下 Stephen 的 post,他的 .editorconfig
文件解决方案在没有指定我要应用规则的文件的情况下对我没有用。例如,假设我想对所有测试文件应用一个规则,并且我遵循以 "Tests.cs" 结尾的命名约定,我已经设法通过使用忽略了这些文件中的 CA1707 规则以下规则:
[*Tests.cs]
dotnet_diagnostics.CA1707.severity = none
关于我的回答的更多信息