Eclipse整理导入快捷键(Ctrl+Shift+O)无法使用。

38

我按 Ctrl+Shift+O 键时会发现 Eclipse 自动导入缺失的包。

然而,在 Java 文件中这个快捷键无法使用,但在 Python 文件中可以用于自动导入缺失的包。

请问有什么方法可以解决这个问题呢?以下是参考截图:

Keys Binding

Organize Imports in Source


1
如果您告诉我们您使用的Eclipse版本(Kepler,Mars等),那么可能会更有帮助。 - Neil P.
@Neil 我正在使用 Eclipse Neon.3。 - Jagadeesh
1
投一票。我有同样的问题,在Spring Tool Suite上使用默认的键绑定 - 版本:3.9.0.RELEASE,构建ID:201707061903,平台:Eclipse Neon.3(4.6.3)。 - Kohei TAMURA
6个回答

59

Java的Organize Import命令被另一个Ctrl+Shift+O命令覆盖:在Window > Preferences: General > Keys中,Java的Organize Import命令(其中WhenIn Windows)绑定到Ctrl+Shift+O,但在主菜单和右键菜单的Source > Organize Imports中,该命令显示为没有快捷键。

解决此问题有两个方法:

  • 更改或删除覆盖Java Organize Import命令的命令的快捷键:

    1. 查找命令:在Java编辑器中按下Ctrl+Shift+L,查看绑定到Ctrl+Shift+O的命令。可能是Beans Quick Outline命令。
    2. Window > Preferences: General > Keys中更改或删除找到的命令的绑定。
  • 限制Java Organize Import快捷键的范围仅限于Java编辑器:

    1. Window > Preferences: General > Keys中选择Java Organize Import命令,将WhenIn Windows更改为Editing Java Source。此解决方案将Ctrl+Shift+O限制为Java编辑器,并在Package/Project Explorer中禁用快捷键。

参见:Spring IDE问题#160:组织导入未正常工作


4
提供的链接已经帮助解决了问题。 通过将“在Windows中”改为“编辑Java源代码”,快捷键开始正常工作。 谢谢! - Jagadeesh
3
将“在Windows中”改为“编辑Java源代码”,这个快捷键将只在Java编辑器中起作用,而不再在“包/项目资源管理器”中生效。但对大多数用户来说,这可能是可以接受的。 - howlger

33
为了解决此问题:
1. 前往“首选项” -> “常规” -> “键盘快捷键” 2. 单击“过滤器...”,取消选择“过滤未分类命令”,然后单击“确定”。 3. 然后找到命令“转到文件中的符号”并选择它。 4. 点击“解除绑定”,然后点击“应用”和“关闭”。 5. 现在,Ctrl+Shift+O 应该可以正常工作了。
编辑:
1. 还要解除任何其他冲突的命令,并只留下一个命令用于Ctrl+Shift+O,并将“当”设置为“编辑Java源代码”。

这个方法在我的Mac上有效,而被接受的答案则不行。 - davidfmatheson
1
在Windows 7上使用Eclipse Neon和Spring Tool Suite是相同的事情。再次感谢,让我的一天变得美好。 - Julien

22
请记住,如果您使用的是AMD GPU,您的Radeon驱动程序可能会阻止Ctrl+Shift+O 键,该键用于切换游戏中的覆盖层。您可以按以下方式将其更改为其他键:游戏 → 全局设置 → 性能监控

2
这解决了我的问题。Radeon 真的会阻止你的 Ctrl+Shift+O。我已经为此疯狂了! - Tiago Duque
2
这就是我的情况,最近更新了我的Radeon驱动程序,我的Eclipse绑定停止工作了。尝试了2个小时后,我读到了这篇文章,一切都变得清晰明了。谢谢。 - Jonathan Camarena
非常感谢!解决了我的问题。 - TraxX
谢谢!!!哦,天啊,我花了好几个小时才弄明白这个问题,原来是Radeon的事情! - Jose Cifuentes
是的。在尝试了所有其他解决方案之后,这终于解决了我的问题。但愿我早点看到这个。谢谢 :) - anotherDev

5

窗口 -> 首选项 -> 通用 -> 快捷键

单击“绑定”以按绑定排序,然后滚动并找到Ctrl+Shift+O

如果存在多个组织的导入,请编辑一个绑定并选择WHEN:EDITING JAVA SOURCE。

删除(取消绑定命令)其他现有绑定。

重新启动Eclipse 图片


2
上述快捷方式导致我的屏幕上弹出了GPU详细信息。因此,它被绑定到其他覆盖它的应用程序上。对我有效的方法是 -> 检查
您需要前往“游戏”>“全局设置”>“性能监控”>“切换性能日志记录热键”。
您会发现这个快捷键绑定到Ctrl + Shift + O(因此使用了快捷方式 - 只是被隐藏了)。
要删除快捷键(这不是一个明显的过程!),您需要点击“切换性能日志记录热键”按钮,然后它会要求您输入您的热键,然后按下删除键 - 即Del(不是退格键,不是esc或其他任何键 - Del键)。

-1
我已经尝试了所有方法,但都没有起作用,所以我查看了 AMD 论坛 (https://community.amd.com/thread/227221) 并找到了解决方案,即: "现在我发现我只需要进入 Radeon 设置 -> 首选项并取消勾选显示叠加框的选项。"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接