Visual Studio 2015 - 片段后的C#换行符

Jac*_*amm 3 c# intellisense visual-studio-2015

自从我升级到Visual Studio 2015以来,一种恼人的,甚至令人沮丧的行为已经体现出来.每当我输入某种片段(例如if通过键入"if"后跟[Tab] [Tab],或者可能突出显示某些代码并使用"Surround With ..."选项)时,就会出现这种情况.当我在所述片段的结束括号后单击然后按[Enter]时,我会发生换行,导致如下所示:

if (true)
{
    // some code
    // some more code
} // (right here, after the closing bracket, is where I clicked, then hit [Enter])
// new empty line
Run Code Online (Sandbox Code Playgroud)

相反,换行不会发生,并且文本焦点在最后一行代码之后移动到块内,如下所示:

if (true)
{
    // some code
    // some more code (text focus is now right here)
}
Run Code Online (Sandbox Code Playgroud)

当发生这种情况时,我没有注意到任何提示,这让我相信这不是一个可配置的"智能"功能.还有其他人遇到过这种情况吗?如果是这样,我该怎么做才能排除故障?

编辑:

User42的回答在下面为我解决了这个问题,但这里有一个关于那些正在经历同样事情的人发生问题的视频.

Use*_*r42 6

转载VS2015.

原因是你仍然在填写参数if(见它突出显示).只需输入参数并单击Enter即可让VS知道您已完成.这是一个功能,而不是一个bug.:)

另一种选择是编辑代码段.这些片段存储在:

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\VC#\ Snippets\1033\Visual C#

我建议你在编辑之前首先制作一个片段的副本.