Visual Studio 2015中的C#格式更改了吗? 我怎样才能改回来?

在过去的Visual Studio版本中,我可以在C#中创build一个单行自动属性,如下所示:

public int Whatever { get; set; } 

如果我点击Control-K,Control-D进行格式化,则属性将保持这种状态。

但是在Visual Studio 2015 RC中,当我键入属性时,它会打包,即使我打开它,格式化也会重新包装它:

 public int Whatever { get; set; } 

我也注意到它与构造函数。 在过去,一个空的构造函数(例如刚才调用的基类构造函数)可能如下所示:

 public Whatever(int stuff) : base(stuff) { } 

现在Visual Studio 2015坚持这样做:

 public Whatever(int stuff) : base(stuff) { } 

别人注意到了吗? 这是在Visual Studio 2015中进行的更改吗? 如果是这样,有什么办法可以改变它? 我查看了“工具”>“选项”的C#格式部分,但找不到可能会影响到这一点的任何新设置。

(我的插件之一导致它不是不可能的,但我没有发现任何明显的罪魁祸首。)

(为什么要关心呢?因为当我使用Collapse to Definitions概述命令时,单行属性和构造函数保持原样,而包含的元素会崩溃。如果它们被折叠,我不能一眼就看出它们是空的;我必须把它们切换到非崩溃状态才能看到没有任何东西。)

转到工具>选项>文本编辑器> C#>格式>包装

选中“在单行上保留块”和“将语句和成员声明保留在同一行上”

在这里输入图像说明

此行为似乎已经更改。 转到工具>选项菜单,然后导航到文本编辑器> C#>格式>包装。

在之前版本的Visual Studio中,如果您选中“在单行上保留块”并且“不在同一行上保留语句和成员声明”,则空括号将保留在同一行上。

但是在Visual Studio 2015 RC中,如果您选中“在单行上保留块”并且不选中“将语句和成员声明保留在同一行”,则会使用空括号进行包装。

你必须检查两个项目,以防止大括号包装。 但是这也有其他的后果,例如在同一行留下多个陈述…

 int x = 5; int y = 3; 

这就是为什么我从来没有检查过。