2017-02-21 8 views
1

в C#, всякий раз, когда я печатаю оператор одной строки, который включает return, форматирование с помощью ReSharper заставляет его поместить на новую строку return.Resharper stop newline перед возвратом

я получаю это:

if(x == 0) 
    return; 

Но я хочу, чтобы это

if(x == 0) return; 

Я не могу найти опцию для изменения настроек, и это сводит меня с ума.

Заранее спасибо.

ответ

6

В настройках ReSharper под кодами Редактирование -> C# -> Форматирование Style -> Разрывы строк и Обертывание, установите Break line in single embedded statement либо Do not change, или, Force put on single line.

enter image description here

+0

Пробовал ОБА. Ничего не работает. Вскоре, когда я отформатирую документ, BAM, мои операторы возврата переходят к следующей строке. Надеюсь, я не вынужден все сбросить. – rmirabelle

+1

Вы уверены, что сохранили настройки Resharper? Возможно, попробуйте очистить кэш Resharper и перезапустить Visual Studio. – Steve

+0

Да, они спасены. Я попробую очистить кеш. Облом. Естественно, он отлично работает, когда я завершаю возврат в блок: '{return x; } ', поэтому я мог бы подумать и об этом, поскольку скобки помогают возврату выделиться. Спасибо за помощь. – rmirabelle

0

Найдено еще одно возможное решение этой коварной проблемы:

Options > Text Editor > C# > Formatting > Wrapping

Проверить Leave statements and member declarations on the same line. Это, конечно, вводит в заблуждение и неточно, так как в моем примере нет объявления участника, но стоит попробовать, если кого-то поймают.

Смежные вопросы