java - 自定义 Eclipse 内容辅助的键绑定(bind)

标签 java eclipse eclipse-plugin key-bindings content-assist

我已经将内容辅助提案计算机实现为 eclipse 插件(使用 org.eclipse.jdt.ui.javaCompletionProposalComputer )。我现在想将它绑定(bind)到它自己的组合键(否则自定义建议会出现在建议列表的底部)。

我尝试通过扩展 org.eclipse.ui.bindings 来做到这一点, 但这需要定义 org.eclipse.ui.commands , 一个 handler ,可能还有更多东西。

似乎已经为我的自定义内容辅助计算机创建了一个命令,因为它出现在键绑定(bind)菜单下(在 Windows->Preferences->Keys 中),但我不知道这个命令的 ID 是什么。如果该命令是在运行时创建的,那么我什至可以引用它的 commandId在我的 plugin.xml 中?

还有其他更简单的方法吗?

最佳答案

在尝试了许多不同的实现方式后,我发现:

1)与自定义补全建议计算机关联的命令是org.eclipse.jdt.ui.specific_content_assist.command,定义在plugin.xmlorg.eclipse.jdt.ui 插件(由 eclipse 提供)。

2) 这是一个参数化命令,这意味着它需要一个带有 id=org.eclipse.jdt.ui.specific_content_assist.category_id 的命令参数。此参数的值应该是 javaCompletionProposalComputerproposalCategory 的 ID。

这是我如何定义自定义键绑定(bind)的示例:

<extension point="org.eclipse.ui.bindings">   
    <key
        sequence="CTRL+ALT+SPACE"
        contextId="org.eclipse.ui.contexts.dialogAndWindow"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        commandId="org.eclipse.jdt.ui.specific_content_assist.command">
        <parameter
            id="org.eclipse.jdt.ui.specific_content_assist.category_id"
            value="YOUR_PROPOSAL_CATEGORY_GOES_HERE"/>
    </key>
</extension> 

无需定义新命令或处理程序!

关于java - 自定义 Eclipse 内容辅助的键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18519534/

相关文章:

java - 保存数组的接口(interface),由不同的类使用

Java插件模式

java - 为什么这个 Spring AOP 切入点没有被触发?

java - 尝试启动 Eclipse 时出现 UnsupportedClassVersionError

eclipse - 如何确定部署到 T/C 6 的 Web 应用程序中的内存损坏?

java - 如何计算具体值 - Eclipse

java - 单击简介中的链接时,RCP 应用程序崩溃

java - 获取经纬度需要很长时间

eclipse - 有没有适用于 Openlaszlo 的 Eclipse IDE+GUI 插件?

eclipse-plugin - Eclipse Papyrus 上的 OCL 约束检查