8

当做这样的事情时:

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

ReSharper 告诉我“使用对象初始值设定项”,所以我让它重新格式化代码,我得到如下内容:

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

但是,我希望第一个大括号位于第二行,如下所示:

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

但我在任何地方都找不到任何设置。我将“C# -> Formatting Style -> Braces Layout -> Array and object initializer”设置为“At next line (BSD style)”

是否有其他设置干扰这个,阻止我想要的格式?

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

4

2 回答 2

10

所以我终于找到了与格式混淆的设置:

在此处输入图像描述

于 2013-02-11T07:23:33.417 回答
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
于 2013-02-08T09:21:08.113 回答