ReSharper - заставляет фигурные скобки вокруг одной линии

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

if (blnSomeCondition)
   DoSomething();  // complain

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

Спасибо

c#,resharper,

83

Ответов: 5


118

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

** UPD1: для ReSharper 2017.x ** ReSharper 2017.1.2

** UPD2: для ReSharper 2018.x ** ReSharper 2018.1


33

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

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

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


28 принят

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

старый текст

На самом деле я надеялся, что у ReSharper появится желтое предупреждение или красная ошибка при нарушении правила, но я не нашел способа сделать это. Поскольку вы правы, Ghorhoroh, Cleanup Code делает много вещей, и я хотел бы иметь возможность смотреть и исправлять нарушения правил по одному за раз.

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


Для ReSharper 2016.2.2 .

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

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

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

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


0

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

принудительные фигурные скобки для одной строки кода

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

C #, ReSharper,
Похожие вопросы