Может ли Resharper форматировать операторы case начинаться с той же строки, что и сам case? - PullRequest
5 голосов
/ 27 декабря 2010

Я пытаюсь найти способ, чтобы Resharper форматировал оператор switch следующим образом (используя Ctrl + E, Ctrl + C):

switch (int_i) {
    case 1  : Console.WriteLine("You entered one");
              break;
    case 2  : Console.WriteLine("You entered two");
              break;
    case 3  : Console.WriteLine("You entered three");
              break;
    default : Console.WriteLine("Please enter a number between 1 and 5");
              break;
}

Мне лично этот стиль вообще не нравится, но он используется в книге, которую я изучаю, и я бы хотел, чтобы Resharper помог мне форматировать мой код таким же образом.

Здесь нужно отметить две вещи:

  1. Операторы должны начинаться с той же строки, что и оператор case.
  2. Двоеточия должны быть выровнены, поэтому, поскольку default длиннее case 3, перед двоеточием должно быть дополнительное пространствоcase 1, case 2 и case 3.

Может ли Решарпер сделать это?

Ответы [ 3 ]

1 голос
/ 14 ноября 2016

Я знаю, что это старый, но это возможно.Это просто не очевидно.Я только сейчас наткнулся на это.

Перейдите в Параметры ReSharper / Редактирование кода / C # / Формат стиля / Макет фигурных скобок.Выберите «Блокировать под меткой« case »», чтобы увидеть, что образец неправильный.Теперь выберите Другое.Установите значение «В конце строки (стиль K & R)».Ничто в образце не изменится.Снова выберите «Блокировать под меткой« case »», чтобы убедиться, что форматирование теперь правильное.

Я предпочитаю стиль BSD, который также работает.

1 голос
/ 09 июня 2011

Вы можете настроить форматирование кода в ReSharper - Параметры - Языки - C # - Стиль форматирования , но, похоже, о вас ничего не спрашивают.Ближайшая вещь, которую я нашел - форматирование фигурных скобок в операторе Switch.

0 голосов
/ 06 февраля 2018

Я думаю, что теперь есть возможность для этого. У меня версия 2017.3.2.

Перейдите в Параметры ReSharper / Редактирование кода / C # / Стиль форматирования / Разрывы строк и Обтекание / Расположение встроенных операторов и задайте для простого оператора case в одной строке значение Always.

...