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

Visual Studio 2015-代码片段后的C#换行行为,c#,visual-studio-2015,intellisense,C#,Visual Studio 2015,Intellisense,自从我升级到VisualStudio2015后,一种恼人甚至令人沮丧的行为已经显现出来。每当我输入某种代码段时就会发生这种情况(例如,键入“if”后接[Tab][Tab]的if块,或者突出显示某些代码并使用“环绕…”选项)。当我在上述代码段的结束括号后单击,然后点击[Enter]时,我预计会出现换行,结果如下: if (true) { // some code // some more code } // (right here, after the closing bracke

自从我升级到VisualStudio2015后,一种恼人甚至令人沮丧的行为已经显现出来。每当我输入某种代码段时就会发生这种情况(例如,键入“if”后接[Tab][Tab]的
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)
}
当这种行为发生时,我没有注意到任何提示,这让我相信这不是可配置的“智能”功能。还有其他人经历过这种情况吗?如果是,我可以做些什么来解决这个问题

编辑:


User42下面的回答为我解决了这个问题,但对于那些经历过同样事情的人来说,这个问题已经发生了。

用VS2015复制

原因是您仍然在填写<代码>的参数,如果(请注意它被高亮显示)。只需键入参数并单击enter,就可以让VS知道您已经完成了。这是一个功能,不是一个bug。:)

另一个选项是编辑代码段。这些代码段存储在:

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


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

尝试过VS2013,但无法复制。尝试过VS2015,也无法复制。尝试过VS2015和VS2013,但都没有经历过这种情况。您是否安装了任何扩展?我可以在VS2015I中复制,但无法在2015年复制。。。。我的光标按预期移动到块外的下一行。就是这样!谢谢我要补充的是,即使我修改了代码段预期的文本(例如,将代码段的
if(true)
部分中的
true
替换为我自己的表达式),它仍然痴迷于我按下[Enter]键,而不仅仅是让我点击,继续我的一天。无论如何,感谢您提供的解决方案。@JacobStamm我现在没有测试它,但我认为您需要将代码段中的
$end$
移动到
}
之后。