如何使主菜单中的元素可见/不可见(取决于编辑器类型)

时间:2012-07-15 13:48:06

标签: eclipse eclipse-rcp

在我的RCP应用程序中,我有两种类型的编辑器(一种用于* .xsd文件,第二种用于其他文本文件)。我已经在主菜单中添加了新元素,我只想在xsd编辑器处于活动状态时显示它,当其他编辑器处于活动状态时它应该是不可见的(在打开时,Eclipse中的'Refactor'选项是可见的,当打开是x文件时是不可见的文件)。如何在主菜单中制作可见/不可见元素取决于编辑器类型?

3 个答案:

答案 0 :(得分:2)

查看org.eclipse.ui.menus扩展点,特别是visibleWhen元素。您可以在主菜单子菜单中添加命令,并在 activeEditorId ==您的编辑器ID时显示它们。

<visibleWhen>
   <with variable="activeEditorId">
      <equals value="org.eclipse.example.my.editor"/>
   </with>
</visibleWhen>

另见Core Expressions

答案 1 :(得分:1)

据我所知,你无法改变菜单项的可见性。您要做的是不首先添加项目,具体取决于该编辑器是否处于活动状态。如果您可以发布关于如何添加菜单项的代码(因为有多种方法可以执行此操作),我可以帮助您进一步了解如何检查。

答案 2 :(得分:0)

如果菜单项的命令没有活动处理程序,则该项目不会出现在菜单中。

Have a look at this question示例使用 activeWhen 根据当前选择控制菜单中命令的可用性。