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;
这就是为什么我从来没有检查过。