Visual studio 2017 如何停止resharper删除空开关默认情况

Visual studio 2017 如何停止resharper删除空开关默认情况,visual-studio-2017,resharper,Visual Studio 2017,Resharper,假设我有以下代码: public static void PrintFoo(int i) { switch (i) { case 0: Console.WriteLine("bar!"); break; case 1: Console.WriteLine("baz!"); b

假设我有以下代码:

    public static void PrintFoo(int i)
    {
        switch (i)
        {
            case 0:
                Console.WriteLine("bar!");
                break;
            case 1:
                Console.WriteLine("baz!");
                break;
            default:
                // do nothing
                break;
        }
    }
我希望在注释中使用默认的开关大小写,因为它表明我故意不处理0和1以外的任何值。如果我忽略了默认情况,就不清楚我是什么都不想做,还是只是忘记了。事实上,如果删除默认情况,则会从错误窗口中显示的IDE0010填充开关中获得错误

默认情况下,Resharper认为这是一个错误,所以我关闭了检查Resharper选项->检查严重性->C->代码中的冗余->冗余空开关部分

我遇到的问题是,当我运行代码清理时,它会删除默认情况,包括注释。一般来说,我仍然希望代码清理修复文件中的所有其他冗余,因此在代码清理配置文件中禁用“删除代码冗余”不是一个选项。有没有办法不删除switch语句中的默认大小写


编辑:似乎只有在“代码清理”窗口中选择删除代码冗余和任何代码样式的子项时,才会删除默认情况。如果我取消选择所有代码样式项,则默认情况不会删除,或者如果我取消选择代码冗余,也不会删除。看来我可能不得不用Resharper提出这个问题。

所以我向jetbrains报告了这个问题,jetbrains负责调查这个问题。事实证明,冗余空交换机部分的设置存储在团队共享设置层中,代码清理从错误的层中提取设置

解决方案是转到“重新竖琴->管理选项->双击这台计算机”并在那里更改设置


感谢Alexander Kurakin解决了这个问题。

您使用的是什么ReSharper版本?在我的R 2018.3.4中,我在Resharper options | inspection Severity(检查严重性)页面上取消了冗余空开关部分检查,代码清理停止删除您示例中的默认部分。我还安装了2018.3.4。如果选中该复选框,然后运行“清理”,是否会删除默认情况?也许还有其他一些选项我设置的不同?如果我勾选了那个复选框并运行清理,它确实会删除冗余。您是否安装了ReSharper | Extension Manager插件?是否使用完整清理配置文件?在“代码清理配置”窗口中,如果我选择了“代码样式”下的任何内容作为清理的一部分,则默认情况会被删除。如果没有选择任何一个,则不会将其删除。因此,完整清理配置文件将删除它。未安装resharper扩展。请在此提交请求,并将您的设置resharper |管理选项|导出到此计算机层的文件中。看来我们需要更多的配置信息来重新解决这个问题。