C# 3.0 如何更改";“使用对象初始值设定项”;在Resharper中重构?

C# 3.0 如何更改";“使用对象初始值设定项”;在Resharper中重构?,c#-3.0,formatting,resharper-4.5,object-initializers,C# 3.0,Formatting,Resharper 4.5,Object Initializers,当我重构以下行时: Employee e = new Employee(); e.First = "Frank"; e.Last = "Rizzo"; 使用Resharper的“使用对象初始值设定项”,我得到以下结果: Employee e = new Employee { First = "Frank", Last = "Rizzo" }; 我真的很讨厌这种格式,因为对象

当我重构以下行时:

Employee e = new Employee();
e.First = "Frank";
e.Last = "Rizzo";
使用Resharper的“使用对象初始值设定项”,我得到以下结果:

Employee e = new Employee
             {
                 First = "Frank",
                 Last = "Rizzo"
             };
我真的很讨厌这种格式,因为对象名和变量越长,它就越难控制。如何让Resharper执行以下操作

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

在Resharper 4.5中,您可以非常接近您想要的内容

重新竖琴>选项

语言>C#>格式样式>其他


在“其他”下,取消选中“缩进数组、对象和集合初始值设定项块”。

在Resharper 7中,此选项位于此处:

Resharper/Option/C#/格式化样式/大括号布局 在R#2018.2.3中,将数组和对象初始值设定项设置为“下一行(BSD样式)”

,这在:

ReSharper
->
选项
->
代码编辑
->
C#
->
格式样式
->
换行符和换行符
->
初始值设定项的排列

您可以在其中使用多个设置,即:

  • 保留初始值设定人的现有安排
  • 单行上的最大对象和集合初始值设定项元素数

我想知道是谁首先提出这个想法的。没有一个头脑正常的人会这样缩进初始值设定项。据我所知,这是他们头脑左侧的人。不,不,不,不要更改Resharper默认设置,它是完美的:-)相关:以下是一些有用的Resharper格式设置…将此设置与版本5一起使用,会产生1个制表符缩进,而不是0。总比什么都没有好…在上找到答案有人对ReSharper 7.1.2有答案吗?它已经被取消选中,但仍然错误地缩进。我不知道RS7的情况,但在RS6中,这肯定不是正确的位置-Formatting>Other中的设置确定此处的缩进设置是相对于行的开头还是相对于初始值设定项语句。每个设置的实时预览将向您展示我的意思,这比文字所能解释的更好:)@David Krmpotic关于RS7是正确的,RS8将它放在同一个位置。在重塑器8中,不缩进对象初始值设定项的设置是Resharper/Option/C#/Formatting Style/Other/Align Multiline constructures/Array,对象和集合初始值设定项