无法在 Eclipse 中禁用方法括号自动完成

Posted

技术标签:

【中文标题】无法在 Eclipse 中禁用方法括号自动完成【英文标题】:Can't disable method parenthesis auto-complete in Eclipse 【发布时间】:2011-02-20 02:06:19 【问题描述】:

我试图在 Eclipse 中禁用括号的自动关闭,虽然我已经成功了,但我无法阻止编辑器为方法调用插入右括号。结果是当我输入:

myBool.equals(true);

只要我输入左括号,它就会插入一个右括号,而我实际得到的是:

myBool.equals(true);)

我已经禁用了 Preferences -> Java -> Editor -> Typing 菜单中的所有自动完成选项,以及 Preferences -> Java -> Editor -> Content Assist -> Fill method arguments and show guessed论据。我还禁用了编辑菜单下的智能插入模式选项。我需要在其他地方使用其他选项来阻止 Eclipse 执行此操作吗?

这适用于 Eclipse 3.5.2(内部版本号 M20100211-1343),以防万一。

编辑添加:我还应该提到,只有在我输入句点后等待带有建议方法名称的“智能感知”弹出窗口出现时才会发生这种情况。如果我只是连续输入代码而不等待出现建议框,则不会插入右括号。

【问题讨论】:

【参考方案1】:

我不知道如何禁用方法括号自动完成 - 所以我不确定您是否会对我的回答感到满意。但是为了避免以

结尾
myBool.equals(true);)

您实际上可以在 Preferences -> Java -> Editor -> Typing 菜单中启用 (Parenthesis, [square] and <angle> brackets。这会自动插入括号(您可能不想要),但您可以继续正常输入,就像在没有“智能”的编辑器中一样:您的右括号将简单地覆盖自动插入的括号,所以您不会以);) 结尾。

【讨论】:

这可以解决问题 - 我仍然希望完全关闭它,但我想这是目前最好的选择。谢谢! 我从来不明白为什么有人会希望这些东西自动完成......不知何故你必须走到行尾才能进入;或按回车键执行下一行。他们希望你拿起鼠标或箭头吗?大声笑。 如果您在样式的括号内添加空格(即foo( vars ))仍然没有效果 - 如果您输入您期望的空格,您会得到一个额外的空格。 a 也不适用于多个参数。 @Chris 没用。那是一个黑客。该死的日食。我们需要修复 它不起作用。当我例如按 Enter 在参数列表中获取换行符,光标跳到括号外。【参考方案2】:

如果我正确理解问题,这里就是解决方案!我遇到了同样的问题。

主菜单 |窗口 |偏好 | |编辑 |打字

在“自动关闭”部分中,取消选中您不需要的选项。

我不知道这个功能是不是新功能。我刚开始重新使用 Eclipse,并没有使用太多。

我在*** page 上找到了答案。

【讨论】:

仅供参考,您的回答导致提问者不想要的行为。【参考方案3】:

正如您所注意到的,只有在您等待提案(“智能感知”)框弹出时才会发生这种情况。

“解决方案”是在以下一项或两项下禁用提案,尽管这样做可能会更麻烦,因为您将放弃。

Preferences -> Java -> Editor -> Content Assist -> “自动插入单个提案”

首选项 -> Java -> 编辑器 -> 内容辅助 -> 高级

【讨论】:

只禁用一个对我不起作用。禁用两者后,它起作用了。

以上是关于无法在 Eclipse 中禁用方法括号自动完成的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse Content Assist 中禁用空间上的语句完成

禁用Eclipse中的自动注释生成

有啥方法可以在 Eclipse 中获得类似 IntelliJ 的自动完成功能?

如何在访问中禁用组合框上的自动完成功能?

Eclipse - 不要自动添加括号

请问eclipse中如何让自动添加的括号中间添加上空格