使用注释禁用所有Resharper警告

本文关键字:Resharper 警告 注释 | 更新日期: 2023-09-27 18:20:10

有没有办法用一个注释禁用文件或代码段的所有Resharper警告?我正在尝试创建一些用于面试潜在候选人的编码练习,Resharper警告揭示了我希望候选人发现的问题:P抑制特定警告仍然可以清楚地表明问题所在。

我仍然希望在面试期间有Resharper,我只希望候选人能发现这个问题,而不会破坏Resharper的乐趣。

编辑:对不起,我会尽量弄清楚我想要什么。我不想永久禁用特定的Resharper警告,我只希望它不显示在一个特定的文件中,因为练习的目的是看看开发人员是否理解警告的原因。

举个例子,有一个Resharper警告要使用.Any扩展方法而不是Count()>0,我希望开发人员自己指出这一点。要禁用该警告,您必须使用以下注释:

// ReSharper disable UseMethodAny.0

围绕代码。这有点泄露了比赛的秘密。

我试图找到这样的东西:

// ReSharper disable all

我可以把它放在类的顶部,这样它就不会泄露我希望开发人员找到的东西。但我似乎找不到这样做的方法。在Resharper警告中使用数字也可以,但我不认为这样有效吗?

使用注释禁用所有Resharper警告

您可以按Ctrl+Shift+Alt+8禁用当前文件中的分析和高亮显示。

根据JetBrains博客上的这篇博客文章,在ReSharper 8中,将有一条注释可以在文件中禁用ReSharper警告。

它将是

// ReSharper disable All

注:;所有";区分大小写,其余不区分大小写。

以下内容对我有效。

  • 在R#->选项->代码检查->生成代码中的生成代码区域添加"无重查器"
  • 使用以下方法抑制警告:

    #region No Resharper
    // All R# warnings are suppressed here
    #endregion
    

您也可以将SuppressMessageAttribute与ReSharper一起用作方法或类的类别All作为checkId,如下所示。如果需要细粒度控制,这比禁用文件中的所有内容更细粒度。

使用Visual Studio 2015 Update 3和ReSharper Ultimate 10.0.2 进行测试

[SuppressMessage("ReSharper", "All")]
private void MethodWithMultipleIssues()
{
    TestClass instance = null;
    // You would get an "Expression is always true" message
    if (instance == null)
    {
        Debug.WriteLine("Handle null");
    }
    else
    {
        // You would get an "Code is unreachable" message
        Debug.WriteLine("Handle instance");
    }
}

您必须配置ReSharper Inspections

http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Configuring_Warnings.html

您可以将文件添加到ReSharpers选项菜单中的"生成的代码"列表中:

Options > CodeInspection > Generated Code