Eclipse 自动完成功能不起作用

Posted

技术标签:

【中文标题】Eclipse 自动完成功能不起作用【英文标题】:Eclipse autocomplete not working 【发布时间】:2014-03-11 20:41:47 【问题描述】:

eclipse 的自动完成功能现在不起作用,我搜索了几个小时,但找不到解决问题的答案。我已经很久没有使用它了,打开它后的第一件事就是安装 SWT 和 windows builder,即使我已经安装了 swing。我的意思是,这可能是因为 swt 和 swing 引起的一些冲突(我读过一些关于冲突的东西,但如果可能的话我不知道)。

奇怪的是,当我按下 ctrl+space 时它没有显示任何内容,但是当我进入 Edit-> Content Assist -> Default(它在它附近显示 Ctrl+Space)时,它显示了需要显示/工作的东西想要的。

public class Dsada 
    String sssss;
    public Dsada()
        sss //pressing ctrl+space is not working,Edit->ContentAssist->Default works fine
    

解决方法是不要在 Windows->Preferences->...->Content Assist->Advanced 下勾选/取消勾选某些内容。我检查了“ctrl+space”是否被其他一些不是的东西劫持并检查了英语的键盘语言(那些在mkyong中建议)。

我读到了一些关于bug 的内容,但我无法理解。我试图删除eclipse并重新安装,但我猜有些设置只是留在机器中,所以它不起作用。

提前致谢,

【问题讨论】:

请考虑将接受的答案更改为 Pete Kelley 的答案。我刚刚发现他的答案在 2020 年是准确的。 真正提出建议自动在此处阅读答案:***.com/questions/6202223/… 我发现下面的链接对我有用***.com/questions/908489/… 【参考方案1】:

这对我来说是反复出现的。我在 Windows 10 中使用 Eclipse 2019-03。 以下步骤适用于我的情况,不需要重新启动。

Window->Preferences->Java->Editor->Content Assist->Advanced

以下选项被取消选择,当我设置它们时,自动完成功能和以前一样。无需重启。

 1. Java Non-Type Proposals 
 2. Java Proposals 
 3. Java Type Proposals
 4. Java Proposals (Task-focused)

我不知道是什么触发了这种情况,但它只发生在我创建了一个新项目之后。通常不会。它发生的频率不足以让我注意到一个模式来跟进更多。 很明显,出现此问题的原因有多种,因此请查看其他答案,看看它们是否符合您的情况。

【讨论】:

这对我有用。在我加载了另一个之前没有显示问题的工作区后,我注意到 Eclipse 出于某种原因更改了 Content Assist。切换时可能有些设置搞砸了。 不知道为什么会这样。通常它开箱即用。上述步骤确实有效。 同样的问题,同样的解决方案。可能是由于从旧版本转换工作区引起的。无论如何,您的回答使我免于从头开始重新创建工作区。 猜猜看,Eclipse 2020-03,这个答案仍然是解决方案。 2021-06 - “恢复默认值”会禁用其中大部分功能 - 我想知道这是否是问题所在?【参考方案2】:

我在 Preferences -> Java -> Editor -> Content Assist -> Advanced 中选择所有参数。 它帮助我并解决了我的问题。 Cltr+space work using this step.

【讨论】:

【参考方案3】:

转到首选项 » Java » 编辑器 » 内容辅助 » 高级。确保勾选/选中其他 Java 提案。

我检查了 windows 与 windows 没有 ctrl+空格(eclipse 自动提示)冲突。

这只是eclipse的配置问题。重新安装会解决它。

谢谢。

【讨论】:

【参考方案4】:

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

必须选择以下选项,然后自动完成功能才起作用。无需重启。

Java Proposals  (must be selected, not sure the follows)

Java Non-Type Proposals
Java Type Proposals
Java Proposals (Task-focused)

【讨论】:

适用于我的版本 2021-03(Oxygen.3?)。确实在默认情况下未选中。谢谢@caot!【参考方案5】:

如果您使用的是windows,热键组合ctrl+space可能会与系统中的其他设置冲突。

尝试修改这个组合,比如alt+/,自从我第一次知道 Eclipse 以来,我一直使用这个组合。效果很好。

希望它对你有用。

【讨论】:

有点效果。如果只有一个可能的单词,那么它就完成了,但如果更多,它就不会带来可能的模板。 这很奇怪。其实有两个地方要修改,window -> preferences -> General -> Keys,找到Content Assist,如果不是,把Binding修改成Alt+/,找到Word Completion,把Binding修改成Alt+.,如果不是。这两个选项有时与系统冲突。完成后,尝试使用Alt+/Alt+. 我是这样做的,但正如我所说的那样有效。我也试过Ctrl+Shift+Space,结果是一样的。我想不出任何解决方案,但是您认为如果我完全删除有关 eclipse 的所有内容,它是否会起作用?还是有比这更大的问题? 我把eclipse相关的东西都删了,重新解压。然后按照你的提议做了。现在,我无法使用ctrl+space(在更改密钥时,它接受 ctrl+空格)但ctrl+shift+space 工作正常:) 至少总比不工作好。不过,我希望,我可以使用ctrl+space 如果您使用的是window OS,ctrl+space是系统默认的更改input method的热键。这就是 eclipse 本身的问题,因为 ctrl+space 是 eclipse 的默认设置。无论如何,改变它会是一个很好的解决方案。据我所知,这是一个常见问题,我不知道为什么 eclipse 团队没有改变它。【参考方案6】:

我也面临同样的问题。如果您使用 OS X Eclipse Ctrl+Space 快捷键,则默认使用 Ctrl+Space 快捷键可能会干扰 OS X 系统的“选择上一个输入源”。

有必要 编辑 System Preferences/Keyboard/Shortcuts/Input Source 并取消选中“Selecting previous input source”或更改其他内容的快捷方式。此后,即使不重新启动,Eclipse 也应该可以工作。

【讨论】:

感谢这部经典的提醒。有趣的是,它确实工作了几个月没有解决这个问题。然后我做了这个(macOS 11 Big Sur)。【参考方案7】:

最近,我也遇到了这个问题。当我安装霓虹灯版本时。 通过(1)删除相应的类,(2)恢复默认外观和(3)重新启动eclipse,为我解决了这个问题。 希望它会对某人有所帮助。

【讨论】:

【参考方案8】:

我在使用 Ctrl+Space 时遇到了热键问题。我尝试首先通过 Windows->Preferences->...->Content Assist-> Advanced 解决问题并选择 选择“默认”内容辅助列表中包含的提案种类:

其他 Java 提案, 列表项 SWT 模板建议 模板建议 类型建议

但没有帮助。

因此,我尝试了另一种解决方案。您的计算机上有多种语言可能会占用您的 Ctrl 命令。要解决此问题,请转到 控制面板 -> 区域和语言 -> 键盘和语言(选项卡),然后更改键盘

您会看到已安装的语言列表 - 删除任何您不想要的语言(单击该语言,然后单击“删除”按钮),直到只剩下您想要的语言。这为我修复了它,但您也可以检查“高级键设置”选项卡以确保设置的键盘快捷键都不包含 Ctrl-Space。

完成此操作后,Ctrl-Space 应该可以正常工作!!!!

【讨论】:

【参考方案9】:

我在 Ubuntu 14.04 上遇到了同样的问题。我的问题是ibus 使用Ctrl+Space 作为快捷方式。我通过启动程序 ibus-setup 并将快捷方式更改为 Ctrl+Space 以外的其他东西来解决它。

【讨论】:

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

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

Eclipse 自动完成功能不起作用...仅适用于 AWT? [复制]

Javascript 自动完成功能在 ascx 中不起作用

我的 jquery 自动完成功能不起作用

知道为啥这个 Jquery 自动完成功能不起作用吗?

页面刷新后地理自动完成功能不起作用