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

Sam*_*lls 6 ide visual-studio visual-studio-2015

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

"{"然后输入

这会产生:

{

}
Run Code Online (Sandbox Code Playgroud)

然而,(到目前为止,我已经在两台不同的机器上看到了它,它可能是默认设置)如果像我一样,你喜欢保持按住键,或者意外地保持按住,而是按shift + enter,它会创建一个新行下.

{ }
//current cursor position
Run Code Online (Sandbox Code Playgroud)

留下未格式化的支架!

这真的很烦人,因为我几乎总是这样做,并且不得不摆弄一下,让括号回到我想要的位置.我该怎么做才能改变shift + enter的行为?

Nik*_*lov 12

转到选项>环境>键盘

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

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

更新:此问题已在Visual Studio 2015 Update 1中得到修复 - SmartBreakLine按预期工作.


bal*_*ris 5

我们偶然发现了这个线程,感觉我们可以在这里对Shift + Enter(SmartBreakLine)做出很好的改进.

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

{
    |
}
Run Code Online (Sandbox Code Playgroud)

代替

{ }
|
Run Code Online (Sandbox Code Playgroud)

这种方式习惯使用shift + enter来完成该行(在C#中,如果需要,它会在行尾添加分号,格式化行,在当前行之后添加新行)不必丢失这些功能通过将快捷方式重新映射到BreakLine.

请参阅:https://github.com/dotnet/roslyn/pull/5790

这应该是在Vs2015的下一次更新中,我们希望你喜欢它.

  • 更新:[此版本](https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx)有修复:) (3认同)