ReSharper - заставлять фигурные скобки вокруг одной строки - PullRequest
89 голосов
/ 02 сентября 2010

Могу ли я настроить ReSharper для исправления кода C #, когда фигурные скобки не используются для окружения однострочного блока кода, например:

if (blnSomeCondition)
   DoSomething();  // complain

if (blnSomeOtherCondition)
{
   DoSomethingElse(); // don't complain
}

Спасибо

Ответы [ 6 ]

132 голосов
/ 07 мая 2016

В новой версии ReSharper (2016.x) был перемещен в стиль кода. ReSharper 2016.1.1

UPD1: для ReSharper 2017.x ReSharper 2017.1.2

UPD2: для ReSharper 2018.x ReSharper 2018.1

UPD3: для ReSharper 2019.x ReSharper 2019.1

34 голосов
/ 02 сентября 2010

Райан прав (обратите внимание, однако, что его ссылка относится к справке R # 2.0).Конкретная процедура выглядит следующим образом:

  1. Перейдите в ReSharper> Параметры> Языки> C #> Стиль форматирования> Макет фигурных скобок
  2. Установите для "фигурных скобок в выражении" if-else "" значение "Использовать фигурные скобки для многострочного "
  3. После сохранения изменений выберите область для переформатирования (это может быть выбор кода, файл, папка, проект, решение - все, что вы захотите).
  4. Выберите ReSharper>Инструменты> Очистка кода.
  5. Прибыль.

Помните, что Очистка кода делает множество вещей, и они связаны не только с форматированием кода (подробности см. В http://www.jetbrains.com/resharper/webhelp/Code_Cleanup__Index.html),, поэтомуиспользуйте эту функцию с умом.

28 голосов
/ 03 сентября 2010

Решение Горохороха близко, но вместо выбора «Использовать фигурные скобки для мультилинии» мне пришлось выбрать «Добавить фигурные скобки», чтобы заставить его добавлять фигурные скобки в однострочном сценарии.И я должен был установить это во всех шести выпадающих меню в «Force Braces», чтобы поймать все сценарии:

alt text

То, на что я действительно надеялся, так это возможность настроить ReSharperсделать желтое предупреждение или красную ошибку, когда правило было нарушено, но я не нашел способ сделать это.Поскольку вы правы, Горохорох, код очистки делает много всего, и я хотел бы иметь возможность просматривать и исправлять нарушения правил по одному.

Спасибо за вашу помощь!

8 голосов
/ 16 октября 2016

Для ReSharper 2016.2.2 .

Вы должны отредактировать свой профиль для очистки. Правильный элемент называется Добавить / удалить фигурные скобки для отдельных операторов в «if-else», «for», «foreach», «while», «do-while», «используя» . Этот предмет можно найти в C # => стилях кода item.

Если пункт отмечен, будут добавлены фигурные скобки; если флажок снят, скобки будут удалены.

Примечание: добавление не работает сейчас (не знаю почему - возможно, слишком свежая версия ReSharper). Однако, если вы снимите отметку с упомянутого элемента, существующие скобки вокруг отдельных операторов будут не подлежит удалению.

UPD: проблема решена, см. Первые два комментария под этим сообщением.

1 голос
/ 26 июля 2018

Вы можете настроить его, как показано на скриншоте.

force curly brackets for a single line of code

PS: для тех, у кого проблемы с отображением URL Imgur.com -> https://ibb.co/b4xijT

0 голосов
/ 29 мая 2019

Просто если это поможет кому-то другому сэкономить время на одной машине моей компании, следуя советам Сергея, будет недостаточно, несмотря на отличное качество его должности.

При соответствующей настройке (VS2017, R # 2019, обе версии) эти настройки на стороне R # уже были хорошими, но мне также пришлось изменить это в параметрах Visual Studio:

  • В окне параметров перейдите к Текстовый редактор -> C # -> Стиль кода -> Форматирование -> Общее ,
  • Проверка " Выполнение дополнительной очистки кода во время форматирования"и" Добавить / удалить фигурные скобки для однострочного управления утверждение"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...