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

问题描述 投票:0回答:1

假设我有以下代码:

    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 Populate switch”中的错误。

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

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

编辑:似乎只有在代码清理窗口中,我选择“删除代码冗余”和“代码样式”的任何子代,才会删除default案例。如果取消选择所有代码样式项,则不会删除默认情况,或者如果取消选择代码冗余,则也不会删除它。看起来我可能不得不把它作为Resharper的一个错误。

visual-studio-2017 resharper
1个回答
1
投票

所以我向看过这个问题的喷气机队报告了这个问题。原来,“Redundant empty switch section”的设置存储在“Team shared”设置层中,代码清理是从错误的层中提取设置。

解决方案是去Resharper - >管理选项 - >双击“这台计算机”并在那里更改设置。

感谢Alexander Kurakin解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.