【问题标题】:Can't disable method parenthesis auto-complete in Eclipse无法在 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),以防万一。

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

【问题讨论】:

    标签: eclipse autocomplete code-completion


    【解决方案1】:

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

    结尾
    myBool.equals(true);)
    

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

    【讨论】:

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

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

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

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

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

    我在stackoverflow page 上找到了答案。

    【讨论】:

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

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

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

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

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

    【讨论】:

    • 只禁用一个对我不起作用。禁用两者后,它起作用了。
    猜你喜欢
    • 2014-12-23
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2020-10-05
    • 2021-06-15
    相关资源
    最近更新 更多