在Visual Studio 2015中C#格式是否发生了变化?我怎样才能改回来?

Rya*_*ndy 52 c# visual-studio-2015

在以前版本的Visual Studio中,我可以在C#中创建一个单行自动启动器,如下所示:

public int Whatever { get; set; }
Run Code Online (Sandbox Code Playgroud)

如果我按Control-K,Control-D格式化,属性将保持这种状态.

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

public int Whatever
{ get; set; }
Run Code Online (Sandbox Code Playgroud)

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

public Whatever(int stuff)
    : base(stuff) { }
Run Code Online (Sandbox Code Playgroud)

现在,Visual Studio 2015坚持这样做:

public Whatever(int stuff)
    : base(stuff)
{ }
Run Code Online (Sandbox Code Playgroud)

有人注意到了吗?这是Visual Studio 2015中的更改吗?如果是这样,有没有办法可以改回来?我查看了工具>选项的C#格式化部分,但找不到任何可能影响此设置的新设置.

(我的加载项之一导致它并非不可能,但我没有发现任何明显的罪魁祸首.)

(为什么要关心?因为当我使用Collapse to Definitions概述命令时,单行属性和构造函数保持原样,而包裹的属性会崩溃.如果它们崩溃了,我无法一眼就看出它们是空的;我必须将它们切换到未收缩状态,只是为了看到那里什么都没有.)

Odd*_*Dam 39

转到工具>选项>文本编辑器> C#>格式设置>环绕

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

在此输入图像描述

  • 不幸的是,在输入属性时这没有用.一旦该物业在一条线上,它将保持在一条线上.你输入"get;"后你能做的就是 按ctrl + z撤消格式化并继续正常. (6认同)
  • 请注意,如果您没有选中第二个框,则根本没有用.只需选中第一个框,VS2015就会在`int Foo {get; 组; }'直接'Foo'之后 (4认同)