ReSharper - заставляет фигурные скобки вокруг одной линии
Могу ли я настроить ReSharper для исправления кода С#, когда фигурные скобки не используются для окружения однострочного кода, например:
if (blnSomeCondition)
DoSomething(); // complain
if (blnSomeOtherCondition)
{
DoSomethingElse(); // don't complain
}
Спасибо
Ответы
Ответ 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