Подтвердить что ты не робот

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

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

if (blnSomeCondition)
   DoSomething();  // complain

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

Спасибо

4b9b3361

Ответ 1

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

alt text

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

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

Ответ 2

В новой версии 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

Ответ 3

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

  • Перейдите на вкладку ReSharper > Параметры > Языки > С# > Стиль форматирования > План скобок
  • Установите "Подтяжки в" if-else "statement" на "Использовать фигурные скобки для многострочных"
  • После сохранения изменений выберите область для переформатирования (может быть выбор кода, файл, папка, проект, решение - все, что вы хотите).
  • Выберите ReSharper > Инструменты > Код очистки.
  • Profit.

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

Ответ 4

Для ReSharper 2016.2.2.

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

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

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

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

Ответ 5

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

force curly brackets for a single line of code

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