无法在 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 中禁用空间上的语句完成