我已经看到了解决方法,展示了如何抑制特定代码行或特定项目的警告。我不想要那个。
我想取消对所有项目的特定警告。
(如果重要,警告是IDE0044。而且我使用的是C#。)
答案 0 :(得分:7)
Visual Studio 2017(15.7.1)的最新更新现在有了一个选项。在Tools->Options
菜单下,选择TextEditor->C#->Code Style->General
标签。在Field preferences
下,有一个Prefer readonly
选项。将其设置为No
。
如果要在代码旁边检查此首选项,还可以设置editorconfig
设置,因此使用代码的其他人不会收到警告,但必须在每个解决方案。您要设置的editorconfig
值为:
dotnet_style_readonly_field = false:none
答案 1 :(得分:2)
IDE0044是“添加readonly修饰符”,为什么不添加修饰符?
警告告诉你,你做错了什么,但应用程序会编译。
最好在理想世界中发出零警告。
答案 2 :(得分:1)
您可以使用System.Diagnostics.CodeAnalysis
名称空间下的SuppressMessage
属性
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "args")]
好了,你已经编辑过说我要取消所有项目的特定警告
对于整个项目明智的AFAIK,你不能这样做。但如果有帮助,请检查链接的帖子
How to suppress code analysis messages for all type members?
答案 3 :(得分:1)
我想补充一下Stephen的帖子,他的[*Tests.cs]
dotnet_diagnostics.CA1707.severity = none
文件解决方案在没有指定我要应用规则的文件的情况下无法解决。例如,假设我要对所有测试文件应用规则,并且遵循一个以“ Tests.cs”结尾的命名约定,那么我已经设法通过使用以下命令忽略了这些文件中的CA1707规则遵循规则:
{{1}}
有关我的答案here
的更多信息答案 4 :(得分:0)
您可以尝试使用Directory.Build.props添加NoWarn属性来获取特定警告。我没有验证它。
正如在另一个答案中所说,最好修复根本原因而不是忽略它。
答案 5 :(得分:0)
要对所有项目禁止显示警告,您需要在顶级目录中创建一个.editorconfig
文件。例如,我在主干中,并将其提交给源代码管理这样我的同事可以共享相同的设置。
此文件中的设置适用于干线和子文件夹中的所有项目,除非被文件夹树下的另一个.editorconfig
文件覆盖,例如您可能在子文件夹中有一个项目特定的EditorConfig文件,该文件具有不同的设置。有关更多详细信息,请参见File hierarchy and precedence。
如果您只想更改一个特定设置,则可以使用文本编辑器。但是,Visual Studio可以为您创建具有合理默认值的.editorconfig
文件。来自MSDN:
创建一个新项目
从菜单栏中,选择项目> 添加新项;或按 Ctrl + Shift + A
选择editorconfig File (.NET)
模板以添加一个预填充有默认.NET代码样式,格式和命名约定的EditorConfig文件
在Visual Studio 2019中,您可以改为create an EditorConfig file from your current settings。只需在Text Editor > C# > Code Style > General
下的选项对话框中单击以下按钮:
要专门禁用IDE0044,请在.editorconfig
文件中添加或更改以下设置:
dotnet_style_readonly_field = false:none
(在Visual Studio 2019中,您可以将选项中Prefer readonly
下的No
选项设置为TextEditor-> C# -> Code Style-> General
,然后按Generate .editorconfig file from settings
按钮如上所述)。