ReSharper和自动闭合括号

35

有没有办法自动避免以下括号的闭合:

String.Format() 或者 Console.WriteLine()

有时候这很烦人且不必要,最后我只能按下Delete键将其删除。

我尝试禁用Auto-insert pair brackets, pharentheses and quotesAuto-insert closing brace,但仍然无效...


1
一开始我觉得很烦,但现在我已经习惯了自动闭合括号,以至于我从来不用手动输入闭合括号了! - Vinod R
事实上,我喜欢它,但有时它会使代码崩溃(在不止一个场景中)。 - Oscar Mederos
1
我很惊讶它对你不起作用。我在这里刚试过了。你能详细说明一下你做了什么吗?(另外,5.1已经发布有一段时间了--也许你遇到的是已经修复的错误?当前版本是5.1.3) - Kirk Woll
@Kirk 我不确定我需要详细说明什么。我关闭了这两个功能,重新启动了VS,但是同样的括号仍然被关闭。我将查看JetBrains网站上的更改日志... - Oscar Mederos
2个回答

45
以下选项应在Resharper中取消/勾选,如果您不想要括号自动补全功能(所有选项都可以通过Visual Studio > ReSharper > Options... > Environment访问)。 禁用非方法调用中的括号自动插入(如问题中所指出的,您已经将其禁用)
  • Editor > Auto-insert pair brackets, pharentheses and quotes (未勾选)
  • Editor > Auto-insert closing brace (未勾选)
禁用方法调用中的括号自动插入
  • Intellisense > Completion Behavior > Automatically insert parenthesis after completion > Opening only (已启用)

    Automatically insert parenthesis after completion

Visual Studio 2008 中测试,使用 ReSharper 6.0

1
这种方法无法解决我输入“new InvalidOperationException”时自动补全括号的问题。你的答案只适用于方法,而不适用于类构造函数或属性。 - JDPeckham
@JDPeckham,我已经在VS2010 + Resharper 6中检查了第二个选项。对于类构造函数调用,它按预期工作,即仅插入左大括号。 - Devendra D. Chavan
似乎只有打开时存在一个错误。当我启用此选项时,它仍会添加关闭标签。我不得不完全禁用它。 - KingOfHypocrites
值得注意的是,一旦你停止了R#的自动完成功能,你还需要按照https://dev59.com/Bmgu5IYBdhLWcg3w0aOg的方法停止Visual Studio本身的自动完成功能。 - Jamie Gould

4
在Resharper 9.2中,我已经取消了与Devendra答案中相同的选项,但在输入括号和方括号时仍然遇到了延迟的问题。
我发现通过在Resharper >> Options > Environment > IntelliSense > Completing Characters中设置Do not complete on的值可以解决这些问题。在弹出的对话框中,我设置了C#和JavaScript的Do not complete on字段为(){}.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接