-->

键绑定的定制Eclipse内容辅助(Key-Binding for a Custom Eclipse

2019-10-18 13:59发布

我已经实现了一个内容辅助建议计算机(使用eclipse插件org.eclipse.jdt.ui.javaCompletionProposalComputer )。 我现在想将其绑定到它自己的组合键(或者自定义的建议出现在建议列表的底部)。

我试图通过扩展这样org.eclipse.ui.bindings ,但这需要定义org.eclipse.ui.commands ,一个handler ,可能更多的东西。

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

难道还有其他的,这样做的简单的方法?

Answer 1:

与实施这个我发现许多不同的方式尝试后:

1)用定制完成建议的计算机相关联的命令是org.eclipse.jdt.ui.specific_content_assist.command ,并且它是在定义plugin.xml所述的org.eclipse.jdt.ui插件(Eclipse提供)。

2)这是一个参数化指令,这意味着它需要commandParameter与id=org.eclipse.jdt.ui.specific_content_assist.category_id 。 这个参数的值应该是的id proposalCategoryjavaCompletionProposalComputer

下面是我如何定义的自定义键绑定的例子:

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

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



文章来源: Key-Binding for a Custom Eclipse Content Assist