Как остановить резарпер, удаляя пустой переключатель по умолчанию - PullRequest
0 голосов
/ 13 марта 2019

Предположим, у меня есть следующий код:

    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?

РЕДАКТИРОВАТЬ: Кажется, что дело default удаляется только в том случае, если в окне очистки кода я выбрал «Удалить избыточность кода» и любой дочерний элемент «Стиль кода». Если я отменяю выбор всех элементов стиля кода, регистр по умолчанию не удаляется, или если я отменяю выбор избыточности кода, он также не удаляется. Похоже, мне придется поднять это как ошибку в Resharper.

1 Ответ

1 голос
/ 19 марта 2019

Итак, я сообщил об этом реактивным мозгам, которые изучили проблемуОказалось, что параметр «Секция избыточного пустого переключателя» был сохранен в слое настроек «Общий доступ к команде», а очистка кода вытягивала настройку из неправильного слоя.

Решением было перейти к Resharper -> Управление параметрами -> дважды щелкните «этот компьютер» и измените настройки там.

Спасибо Александру Куракину за решение проблемы.

...