防止Enter键带我进入for循环

时间:2016-02-11 20:57:01

标签: c# visual-studio-2015 editor

当我使用Visual Studio 2013编辑器在C#中编写时,按下键盘上的回车键只需在当前光标位置插入换行符,然后转到下一行,这就是我想要的。

我已经安装了Visual Studio 2015,现在看来如果我最近创建了一个for循环(使用自动生成的代码段),并将光标移动到附近的某个地方,那么按回车将带我几行前进并进入for循环。

这完全不直观,让我发疯。我怎么能让它停止这样做?我确信我不是唯一一个遇到此问题的人,但是多次尝试搜索解决方案都失败了,浏览工具>也是如此。选项>文本编辑器> C#。

2 个答案:

答案 0 :(得分:0)

我还没有看到这个,但我想我能理解。移动光标后,在按Enter键之前,可能按ESCAPE以阻止它自动生成for-block。听起来你已经让编辑器准备好为你自动生成那个坏孩子了,即使你移动光标,它仍然在等待前进。因此,当你点击ENTER键时,它假设你真的只想生成for块,它很乐意将光标移回到它想要的位置。微软通过努力使它们变得更好而使事情变得更糟......再次。

答案 1 :(得分:0)

与您可能习惯的相比,Visual Studio 2015中代码段的工作方式略有不同。正如documentation

中所述
  

代码段可以包含替换参数,必须替换的占位符,以适合您正在编写的精确代码。在前面的示例中,true是替换参数,您可以使用适当的条件替换该参数。对代码段中相同替换参数的每个实例重复进行替换。

     

例如,在Visual Basic中有一个插入属性的代码片段。单击代码窗口的上下文菜单上的Insert Snippet,然后单击Code Patterns,然后单击Properties,Procedures,Events,然后单击Define a property。插入以下代码:

     

Private newPropertyValue As String Public Property NewProperty() As String Get Return newPropertyValue End Get Set(ByVal value As String) newPropertyValue = value End Set End Property

     

如果您将newPropertyValue更改为m_property,则newPropertyValue的每个实例都会更改。如果您在属性声明中将String更改为Int,则set方法中的值也会更改为Int