Eclipse:如何在编辑器上下文菜单上为操作添加键绑定

时间:2017-10-05 15:31:37

标签: eclipse-plugin eclipse-rcp

我的自定义Eclipse编辑器会覆盖createAction,它会在编辑器中注册IAction。然后,在editorContextMenuAboutToShow中,我将此操作添加到菜单中。

一切正常,因为动作出现在编辑器的上下文菜单中;我可以从菜单本身调用动作。

现在,我想为此操作添加一个键绑定。到目前为止,我已经为plugin.xml添加了三个扩展:命令,绑定和上下文。我实际上可以看到命令/绑定/上下文显示在键首选项中。

至于将命令绑定到我的操作,在setActionDefinitionId中创建操作后,我已将plugin.xml中声明的命令id作为参数传递给createActions

毋庸置疑,密钥绑定不会调用该操作 - 因此这个问题。我错过了哪些步骤?

1 个答案:

答案 0 :(得分:1)

在基于TextEditor的编辑器中,我必须触摸这些位置才能提供带键绑定的操作:

  • 定义命令,键绑定和范围(如您所做)

  • 设置actionDefinitionId以匹配命令ID(就像你一样)

  • <div class="projectholders"> <div class="projects-cards"> <div class="media-top"> <img src="http://cdn.pcwallart.com/images/mercedes-benz-biome-seed-wallpaper-1.jpg" width="100%" height="100%" /> </div> <div class="project-info"> <div class="progress-left"> <img src="https://camo.githubusercontent.com/40a03a2e27517edee74b177b7d48f1632b31c693/687474703a2f2f692e696d6775722e636f6d2f414a30364157452e706e67" width="100%" height="100%;" /> </div> <div class="project-money"> <h1>Backed by $102,323 </h1> </div> <div class="visitProject-button-H"> <button class="visi-project" type="button">Visit</button> </div> </div> </div> <div class="projects-cards"> <div class="media-top"> <img src="https://cdn.dribbble.com/users/149817/screenshots/1436337/speedcam.gif" width="100%" height="100%" /> </div> <div class="project-info"> <div class="progress-left"> <img src="https://camo.githubusercontent.com/40a03a2e27517edee74b177b7d48f1632b31c693/687474703a2f2f692e696d6775722e636f6d2f414a30364157452e706e67" width="100%" height="100%;" /> </div> <div class="project-money"> <h1>Backed by $9,564 </h1> </div> <div class="visitProject-button-H"> <button class="visi-project" type="button">Visit</button> </div> </div> </div> <div class="projects-cards"> <div class="media-top"> <img src="http://coolwallpaperz.info/user-content/uploads/wall/o/27/girl-motorcycle-streamlined-cool-sumer-370761.jpg" width="100%" height="100%" /> </div> <div class="project-info"> <div class="progress-left"> <img src="https://camo.githubusercontent.com/40a03a2e27517edee74b177b7d48f1632b31c693/687474703a2f2f692e696d6775722e636f6d2f414a30364157452e706e67" width="100%" height="100%;" /> </div> <div class="project-money"> <h1>Backed by $23,324 </h1> </div> <div class="visitProject-button-H"> <button class="visi-project" type="button">Visit</button> </div> </div> </div> </div>中创建操作后,我不得不拨打createActions()

  • 使用setAction( myAction.getActionDefinitionId(), myAction );

  • initializeKeyBindingScopes()中设置范围

这有帮助吗?

相关问题