关于resharper:从”自动创建括号之后”关键字停止VS 2010

Stop VS 2010 from Auto Creating Braces After else keyword

我正在使用VS 2010,当我键入" else"然后不断返回行并添加花括号时,我一直感到烦恼。类似于:

1
2
3
4
else
{

}

我无法想象我是唯一一个经常在其他地方放一个衬里并且不喜欢大括号的人。如何阻止这种情况的发生?


我也发现这种行为很烦人。

我的第一次尝试涉及打开模板资源管理器(ReSharper /模板资源管理器...),选择C#,然后取消选中"其他"。这确实摆脱了括号。不幸的是,在" else"之后按回车键仅增加了一个空格!我不得不按两次Enter键。不太符合我的期望。

但是,如果您双击else模板,它将打开一个编辑器,您可以在其中指定会发生什么。我发现简单地删除括号就给了我想要的功能-在其他位置按回车键现在将我放在新行上,在其他位置按了Tab键-没有括号。

要概述,要解决此问题,您需要打开Resharper的模板资源管理器,选择C#范围,然后双击else模板并删除花括号。您的模板"代码段"应如下所示(仅两行):

1
2
else
  $END$

这在Resharper 6.1和Visual Studio 2008中有效。我不知道该软件的其他版本。


好吧,终于弄明白了这到底是怎么回事。我在这台计算机上安装了ReSharper,显然" else"关键字是ReSharper自动完成关键字。因此,即使我关闭了牙套的完成,ReSharper仍会加入并添加牙套。愤怒。为了停止此操作,您必须关闭ReSharper自动完成功能。


您是否正在使用Productivity Power Tools?您可以在"工具","选项","生产力电动工具","自动支撑完成"中将其关闭。 (我知道我知道)


我认为没有任何方法可以禁用特定关键字的花括号自动完成功能。如果您转到:

1
Tools -> Options -> Text Editor -> C# -> Formatting

您会找到各种格式设置选项。通常可以禁用自动完成功能或影响缩进等,但是我看不到有任何方法可以禁用特定关键字的括号自动完成功能。