Eclipse 自动完成刺激

Posted

技术标签:

【中文标题】Eclipse 自动完成刺激【英文标题】:Eclipse autocomplete irritation 【发布时间】:2011-09-02 23:12:17 【问题描述】:

我似乎经常被 Eclipse 的自动完成行为的一个特定“特性”绊倒。假设我正在使用 Java 编程并开始编写这样的方法调用:

for (int i = 0; i < n; ++i) 
    thing.

当我输入. 时,Eclipse 会弹出thing 的候选方法列表。假设我选择method(int index)。 Eclipse 插入我的选择:

for (int i = 0; i < n; ++i) 
    thing.method(index)

它还突出显示index 并弹出我可能想要使用的变量列表。列表中的第一项是index,第二项是i。不想把手从键盘上移开,我输入i

问题是,我后来出于习惯通常按enter 来完成自动完成序列。不幸的是,这会导致 Eclipse 选择建议列表中以i 开头的第一项,即index。啊!为避免这种情况,我需要:

    记得在输入i后按tab而不是enter; 从建议列表中选择i,而不是输入它; 按esc(两次!)删除建议列表,然后按enter

由于所有这些,我不得不中断对代码的思考,以便考虑如何使用 Eclipse。

我意识到这是对一个相当琐碎的问题的冗长咆哮,但我确实有一个问题。 Eclipse 中是否有任何设置(没有关闭自动完成功能,否则非常有帮助)(1)告诉它在建议列表中将合法选项排在非法选项之上,或者(2)以其他方式告诉 Eclipse,当我键入 @ 时987654339@,这就是我想要的?

【问题讨论】:

你可以习惯使用空格而不是按回车键。当我使用 Eclipse 时,我必须在自动建议启动之前等待一秒钟,这足以让我输入 i 并继续前进,而不会出现自动完成问题。必须将自动建议设置为立即? 【参考方案1】:

在“Java -> Editor -> Content Assist”首选项页面中,将“Fill method arguments and show guessed arguments”设置为“Insert best guessed arguments”

【讨论】:

完美!我不知道我是怎么错过的。 这是一个正确的措辞,虽然有点晦涩难懂。打败我为什么它不是默认的。 你让我的下午变得更好了。现在,如果我只能弄清楚如何让它建议盒装参数(整数表示 int)

以上是关于Eclipse 自动完成刺激的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse:自动完成类名时排除特定包

Eclipse:自动完成类名时排除特定包

在 Eclipse 中自动打开完成窗口

Eclipse 自动完成功能不适用于 PHP 项目

Eclipse CDT 自动完成功能不起作用

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