在我的RCP应用程序中,我有两种类型的编辑器(一种用于* .xsd文件,第二种用于其他文本文件)。我已经在主菜单中添加了新元素,我只想在xsd编辑器处于活动状态时显示它,当其他编辑器处于活动状态时它应该是不可见的(在打开时,Eclipse中的'Refactor'选项是可见的,当打开是x文件时是不可见的文件)。如何在主菜单中制作可见/不可见元素取决于编辑器类型?
答案 0 :(得分:2)
查看org.eclipse.ui.menus扩展点,特别是visibleWhen
元素。您可以在主菜单子菜单中添加命令,并在 activeEditorId ==您的编辑器ID时显示它们。
<visibleWhen>
<with variable="activeEditorId">
<equals value="org.eclipse.example.my.editor"/>
</with>
</visibleWhen>
答案 1 :(得分:1)
据我所知,你无法改变菜单项的可见性。您要做的是不首先添加项目,具体取决于该编辑器是否处于活动状态。如果您可以发布关于如何添加菜单项的代码(因为有多种方法可以执行此操作),我可以帮助您进一步了解如何检查。
答案 2 :(得分:0)
如果菜单项的命令没有活动处理程序,则该项目不会出现在菜单中。
Have a look at this question示例使用 activeWhen 根据当前选择控制菜单中命令的可用性。