Есть ли опция в ReSharper, чтобы не поместить инициализатор объекта на несколько строк?

Каждый раз, когда я ввожу инициализатор объекта в качестве параметра, например:

SomeFunc(new { Id = id })

и затем введите точку с запятой, ReSharper форматирует то, что я только что напечатал, как было настроено. Однако я не могу найти вариант в ReSharper, чтобы он не превратил мой код в это:

SomeFunc(new {
  Id = id
});

Я действительно подтвердил, что на самом деле ReSharper делает форматирование.

Ответ 1

Если вы хотите, чтобы ReSharper отформатировал инициализаторы объектов (так что вы можете решить, как вы хотите отформатировать их самостоятельно), я думаю, что комбинация этих настроек будет выполнять эту работу.

Keep existing line breaks: [Checked]

Place simple array, object and collection on single line: [Checked]

Wrap object and collection initializer: 'Simple wrap'

Wrap long lines: [Unchecked]

Конечно, эти настройки могут не соответствовать любой ситуации, но я уверен, что вы можете адаптировать их к вашим потребностям.

Ответ 2

Похоже, вам нужно установить параметр Wrap object and collection initializer в Chop if long в разделе Code Editing -> C# -> Formatting Style -> Line Breaks and Wrapping.