2

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

4

3 回答 3

2

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

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

另请参阅核心表达式

于 2012-07-16T18:42:47.107 回答
1

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

于 2012-07-15T13:50:58.910 回答
0

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

查看这个问题,了解使用activeWhen根据当前选择控制菜单中命令的可用性的示例。

于 2012-07-16T13:37:39.990 回答