ReSharper 7.1对象初始化器格式化

时间:2013-02-08 07:33:04

标签: c# visual-studio-2012 resharper resharper-7.1

做这样的事情时:

MyObject tmp = new MyObject();
tmp.Prop = "Hello";

ReSharper告诉我'使用对象初始化器',所以我让它重新格式化代码,我得到这样的东西:

MyObject tmp = new MyObject {
                                Prop = "Hello"
                            };

但是,我希望第一个支架位于第二行,如下所示:

MyObject tmp = new MyObject 
                            {
                                Prop = "Hello"
                            };

但是我无法在任何地方找到任何设置。我有'C# - >设置格式化样式 - >大括号布局 - >数组和对象初始化程序'设置为'在下一行(BSD样式)'

是否会有其他设置干扰这一点,阻止了我想要的格式化?

编辑:如果我按照我想要的方式手动格式化代码,当我输入分号时,它会自动重新格式化(格式错误)。

2 个答案:

答案 0 :(得分:10)

所以我终于找到了搞乱格式的设置:

enter image description here

答案 1 :(得分:4)

有时我需要在VS和Resharper中设置相同的选项。

在Resharper,就像你说的那样:

C# -> Formatting Style -> Braces Layout -> Array and object initializer' set to 'At next line (BSD style)

在Visual Studio中:

Tools -> Options... -> Text Editor -> C# -> Formatting -> New Lines -> Place open brace on new line for object initialzers