覆盖自定义使用的 eclipse 快捷方式

Overwrite eclipse shortcuts for custom use

我的产品有一个基于 Eclipse 的 GUI(用 Java 编写),对于特定操作,我想使用 Ctrl+Shift+R 组合键作为快捷方式。现在,由于 Eclipse 已经使用了这个快捷方式,我无法为该组合键分配自定义操作。

有没有办法覆盖 Eclipse 已经用于自定义使用的快捷键?

可以在 Window > Preferences > General > Keys 下找到主要的首选项页面,您可以覆盖快捷方式。

您没有 "overwrite" 现有的快捷键。相反,只需将 Ctrl+Shift+R (Open Resource)的现有映射更改为使用另一个绑定,然后 Ctrl+Shift+R可供您分配。

为此:

  • Select Window -> 首选项 -> 常规 -> 键
  • 类型过滤器文本字段中输入打开资源以显示其详细信息。
  • 将光标定位在 Binding 字段中,然后按您希望用于打开 Open Resource window.
  • 您按下的键将自动填充到 Binding 字段中。在下面的屏幕截图中,我选择了 Ctrl+Shift+Z.
  • 单击应用并关闭 并确认 Ctrl+Shift+Z 现在打开 打开资源 window.
  • 此外,键入 Ctrl+Shift+R 以验证没有任何反应。该绑定现在可用于您的自定义分配。

您需要在 plugin.xml 中为您的快捷方式添加一个新方案,并使用 plugin_customization.ini 将您的方案设置为默认方案

plugin_customization.ini中添加下面提到的行:
org.eclipse.ui/KEY_CONFIGURATION_ID = <您的方案 ID>

尝试对您的 plugin.xml 进行以下更改:

将 org.eclipse.ui.defaultAcceleratorConfiguration 中的 schemeId 中的值替换为您的 schemeId。

<扩展点="org.eclipse.ui.bindings">
<键序列="Ctrl+Shift+R"
commandId="your.command.id"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" contextId="your.context.id"/>

注意:您需要在每个 标记中替换 schemeId。如果不更改,您的应用程序的其他快捷方式(如果有的话)将不起作用,因为它不会再从 eclipse 获得 ui 绑定。

更多详情请参考: http://www.vogella.com/tutorials/EclipseCommandsKeybindings/article.html