【问题标题】:Key-Binding for a Custom Eclipse Content Assist自定义 Eclipse 内容辅助的键绑定
【发布时间】:2013-08-29 19:31:53
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    1) 与自定义完成提议计算机关联的命令是org.eclipse.jdt.ui.specific_content_assist.command,它定义在org.eclipse.jdt.ui 插件(eclipse 提供)的plugin.xml 中。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多