Как изменить форматирование рефакторинга "Использовать инициализатор объекта" в Resharper?

Когда я рефакторину следующую строку:

Employee e = new Employee();
e.First = "Frank";
e.Last = "Rizzo";

используя Resharper "Use Object Initializer", я получаю следующее:

Employee e = new Employee
             {
                 First = "Frank",
                 Last = "Rizzo"
             };

Я действительно ненавижу этот тип форматирования, потому что с более длинными именами объектов и переменными это просто выходит из-под контроля. Как я могу заставить Resharper сделать следующее?

Employee e = new Employee
{
    First = "Frank",
    Last = "Rizzo"
};

3 ответа

Решение

Вы можете получить очень близко к тому, что вы хотите в Resharper 4.5.

ReSharper> Параметры

Языки>C#> Стиль форматирования> Другое

в разделе Прочее снимите флажок "Отступ для блока инициализации массива, объекта и коллекции".

В Resharper 7 эта опция есть здесь:

Resharper / Option / C# / Стиль форматирования / Макеты фигурных скобок устанавливают для массива и инициализатора объекта значение "На следующей строке (стиль BSD)"

В R# 2018.2.3 это находится в:

ReSharper -> Options -> Code Editing -> C# -> Formatting Style -> Line Breaks And Wrapping -> Arrangement of Initializers

Там есть несколько настроек, с которыми вы можете поиграть, а именно:

  • Сохранить существующее расположение инициализаторов
  • Максимальное количество объектов и элементов инициализатора коллекции в одной строке
Другие вопросы по тегам