Как изменить формат рефакторинга «Использовать инициализатор объекта» в Resharper? - PullRequest
27 голосов
/ 20 января 2010

Когда я выполняю следующую строку:

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

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

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

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

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

Ответы [ 3 ]

38 голосов
/ 21 января 2010

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

Resharper> Параметры

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

в разделе Другой снять флажокблок инициализатора массива, объекта и коллекции. "

3 голосов
/ 30 апреля 2013

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

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

1 голос
/ 05 октября 2018

В R # 2018.2.3 Это в:

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

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

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