2011-07-12 41 views
6

我使用的是VS 2010,当我输入“else”时,它会自动返回行并添加大括号。喜欢的东西:

从自动创建大括号停止VS 2010关键字else关键字

else 
{ 

} 

我无法想象我是唯一一个谁常常使单行的其他人后,喜欢没有括号。我如何阻止这种情况发生?

+5

不是一个问题的答案,但总是用括号中(我发现)的好习惯进入/标准来使用,因为它避免了任何可能的未来的臭虫单行别人变成多否则不正确。 – Joe

+0

需要采取的一点,我只是奇怪的是,只有几行我想快速简单地返回一些东西的方法,VS想让我把括号放在他们不熟悉的地方。 – themaestro

回答

2

好吧,终于想出了这到底是什么。我在这台机器上安装了ReSharper,显然“else”关键字是一个ReSharper自动完成关键字。所以即使在我关闭大括号完成后,ReSharper仍然在踢,并加入它们。愤怒。为了制止这种情况,您必须关闭ReSharper自动完成功能。

0

我不认为有任何方法可以禁用具体关键字的大括号自动完成。如果你去:

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

你会发现各种格式选项。可以通常禁用自动完成或影响缩进等,但我没有看到任何方式禁用特定关键字的大括号自动完成。

0

您使用的是Productivity Power Tools?您可以在工具,选项,“生产力动力工具”,“自动大括号完成”中关闭它。 (我知道我是)

+0

嘿,这不是,但我做DL延长。很光滑。 – themaestro

12

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

我的第一次尝试涉及到打开Templates Explorer(ReSharper/Templates Explorer ...),选择C#,然后取消选中“else”。这确实消除了大括号。不幸的是,在“else”之后点击enter现在只是增加了一个空间!我不得不击中两次。不完全是我所希望的。

但是,如果你双击else模板,它会打开一个编辑器,你可以指定发生什么。我发现简单地去除大括号给了我想要的功能 - 在别人现在把我放在一个新的行上后,进入下一个选项,在其他选项下面选项卡 - 没有大括号。

回顾一下,要解决这个问题,您需要打开Resharper的模板资源管理器,选择C#范围,然后双击else模板并移除大括号。您的模板“片段”应该是这样的(只是两行):

else 
    $END$ 

这个作品在ReSharper的6.1和Visual Studio 2008我不知道该软件的其他版本的想法。

+1

谢谢,这个伎俩!适用于VS2012和Resharper 7 ... – thesaint