【发布时间】:2015-08-11 19:11:44
【问题描述】:
在过去的 Visual Studio 版本中,我可以像这样在 C# 中创建单行自动属性:
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 大纲命令时,单行属性和构造函数保持原样,而包裹的属性和构造函数会折叠。如果它们折叠了,我无法判断一看它们是空的;我必须将它们切换到未折叠状态才能看到那里什么都没有。)
【问题讨论】:
-
老实说:我不记得 VS 是否这样做,但是 ReSharper 中有一个选项可以解决这个问题,所以如果你正在使用它(也许你还没有使用 VS2015)那么这可能是罪魁祸首- 现在不能说,因为这次我还没有玩新版本 - 也许当它到达 RTM 时
-
先生,vs15是哪个版本的?
-
@utility 这对新的有影响吗?所有 AFAIK 的格式过去都是相同的
-
@Carsten,我没有使用 Resharper。我确实使用了 CodeRush,但我已经使用了很长时间了,而且似乎并没有造成这种情况。
-
我已经发布了关于这个问题的 UserVoice 建议:Empty braces are no longer formatted correctly with the FormatDocument command。如果您在这里找到了自己的方式,因为这个问题也困扰着您,请考虑为它投票。
标签: c# visual-studio-2015