1

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

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

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

还有另一种更简单的方法吗?

4

1 回答 1

3

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

1) 与自定义补全建议计算机相关的命令为org.eclipse.jdt.ui.specific_content_assist.commandplugin.xmlorg.eclipse.jdt.ui插件(eclipse提供)中定义。

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

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

<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> 

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

于 2013-09-03T20:48:32.453 回答