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

Visual Studio 2015 - C# line break behavior after snippets

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

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

相反,不会出现换行符,文本焦点会移动到最后一行代码之后的块内,如下所示:

if (true)
{
    // some code
    // some more code (text focus is now right here)
}

我注意到发生此行为时没有任何提示,这使我相信这不是某些可配置的 "smart" 功能。还有其他人遇到这个吗?如果是这样,我该如何解决这个问题?

编辑:

下面 User42 的回答为我解决了这个问题,但是 here is a video 遇到同样事情的人也会遇到这个问题。

用VS2015转载

原因是您仍在为 if 填写参数(请参阅它已突出显示)。只需键入参数并单击 enter 即可让 VS 知道您已完成。这是一个功能,而不是错误。 :)

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

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

我建议您在编辑之前先复制一个片段。