如何为 Nullable<T> 禁用 "Light Bulb" 快速操作 "simplification"?

How to disable "Light Bulb" Quick Action "simplification" for Nullable<T>?

出于多种原因,我们更喜欢 Nullable<Int32> 而不是 int?。在可能的情况下,我们更喜欢类型而不是关键字 - 自从 C#2 以来我们就这样做了,我们有一个大型代码库已经在使用该样式。

我最近切换到 VS2015,我的代码中到处都是烦人的灯泡。对于 Int32 和其他相关的非泛型类型,我使用 修复了它。对于 Nullable<T> 但是我找不到禁用唠叨的选项。

如何为 Nullable<T> 禁用 IDE0001 Name can be simplified.

在您的项目属性中,在“生成”选项卡下的 "Errors and warnings" 中,将 IDE0001 添加到抑制警告集。我知道这并不是真正的警告(只是建议),但它是相同的基础结构。这将删除建议。

这里有一个功能请求:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/9139204-option-to-disable-quick-action-squiggles

关于禁用灯泡。如果您认为它很重要,请为此投票。

终于给了另一个答案:

您可以针对每个项目禁用分析器。 为此,请在 Solution Explorer 中右键单击 Project>References>Analyzers,然后单击 Open Active Rule Set

此处您需要在 Microsoft.CodeAnalysis.CSharp.Features 下禁用 IDE0001 Simplify Names

此外,您可以将 For locals, parameters and membersFor member access expressionsTools > Options > Text Editor > C# > Code Style > predefined type preferences 设置为 Prefer framework typeRefactoring Only(默认)。然而,这是机器特定的配置设置。