如何使用命令在帮助中添加备忘单菜单项

时间:2019-04-29 08:26:33

标签: java eclipse-rcp

我已使用操作在“帮助”菜单中添加了备忘单菜单项。为此,有关操作和操作集的警告已过时。这是我以前的代码。

<extension
   point="org.eclipse.ui.actionSets">
   <actionSet
        label="Cheat Sheets"
        visible="true"
        id="org.eclipse.ui.cheatsheets.actionSet">
    <action
        label="Cheat Sheets" 
        class=" org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction"
        menubarPath="help/group.tutorials"
        id="org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction">
    </action>
    </actionSet>

为消除警告,我决定通过命令添加警告。这是我的代码

<extension 
point="org.eclipse.ui.menus">
<menuContribution
        locationURI="menu:help?after=Dynamic Help">
     <command
           commandId="org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction"
           label="Cheat Sheets.."
           style="push">
     </command>
</menuContribution>   

我已经添加了相应的命令

<extension
     point="org.eclipse.ui.commands">
  <command
        defaultHandler="org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction"
        id="org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction"
        name="Cheat sheets">
  </command>  

但是我遇到以下错误 org.eclipse.ui.internal.cheatsheets.actions.CheatSheetHelpMenuAction无法转换为org.eclipse.core.commands.IHandler。 我怎样才能解决这个问题?我不想为此创建新的处理程序。预先感谢!

1 个答案:

答案 0 :(得分:0)

您无法修复强制转换,因为Action不适合命令处理程序。似乎没有备忘单的现有命令处理程序,因此您无法将其更改为。

也无法编写自己的处理程序,因为所有备忘单API都是内部的 ,因此无法使用。

尽管操作集被标记为已弃用,但由于有太多使用它们的操作,所以它们永远不会被删除-因此请坚持使用操作集。