Visual Studio 2015 - 按 shift + enter 时括号不会自动格式化

Visual Studio 2015 - brackets not automatically formatting when pressing shift + enter

通常,要创建一个新的括号块,我会键入:

"{" 然后输入

这会产生:

{

}

但是,(到目前为止我已经在两台不同的机器上看到过这个,这可能是默认设置)如果像我一样,你喜欢按住 shift,或者不小心按住它而不是按 shift + enter,它在下面创建了一个新行。

{ }
//current cursor position

留下未格式化的括号!

这真的很烦人,因为我几乎总是这样做,并且必须 fiddle 花点时间才能将括号放回我想要的位置。我可以做些什么来改变 shift + enter 的行为?

它在我的 VS 2015 中运行良好。请尝试重置所有设置。

工具 > 导入和导出设置 > 重置所有设置 > 下一步 > Visual C#

您可以像这样重置所有其他语言。

希望对您有所帮助!

转到选项 > 环境 > 键盘

  • 搜索 Edit.SmartBreakLine 并删除指定的快捷方式 (Shift + Enter)
  • 搜索 Edit.BreakLine,单击 "Press shortcut keys:" 文本框,按 Shift + Enter 并单击分配

如果它不起作用,请尝试重新启动 Visual Studio。

更新:此问题已在 Visual Studio 2015 更新 1 - SmartBreakLine 按预期工作。

我们偶然发现了这个线程,感觉我们可以在此处对 Shift+Enter (SmartBreakLine) 进行很好的改进。

因此,在打开块的情况下 { } 并且如果 shift 被有意或无意地按住,我们现在这样做:

{
    |
}

而不是

{ }
|

习惯于使用shift+enter补全行的人(在C#中,如果需要,它会在行尾添加分号,格式化行,在当前行后添加新行)不会这样必须通过将快捷方式重新映射到 BreakLine 来失去这些功能。

参见:https://github.com/dotnet/roslyn/pull/5790

这应该会在 Vs2015 的下一次更新中出现,希望您喜欢。