代码之家  ›  专栏  ›  技术社区  ›  Matthieu Napoli

Eclipse插件:如何仅在peractive处于活动状态时显示菜单贡献?

  •  5
  • Matthieu Napoli  · 技术社区  · 14 年前

    我为Eclipse插件创建了一个菜单贡献。

    我希望只有当插件透视图处于活动状态时菜单才可见。

    3 回复  |  直到 12 年前
        1
  •  5
  •   Matthieu Napoli    14 年前

    以下是我在一个开源项目中发现的,对我很有用:

    <extension
          point="org.eclipse.ui.menus">
       <menuContribution
             locationURI="menu:org.eclipse.ui.main.menu?after=additions">
          <menu
                id="menu1"
                label="Menu 1">
             <visibleWhen checkEnabled="false">
                <with variable="activeWorkbenchWindow.activePerspective">
                    <equals value="myperspective"/>
                </with>
             </visibleWhen>
             <dynamic class="MenuPopulationClass"
                    id="MenuPopulation"/>
          </menu>
       </menuContribution>
    </extension>
    
        2
  •  1
  •   pbanfi    14 年前

    我建议使用命令框架。

    this tutorial 可以帮助你

    要限制命令的可见性,应选中par。五

        3
  •  0
  •   Gilbert Le Blanc    14 年前

    这是你需要做的事情的大致轮廓。

    要限制顶级菜单的可见性,请创建一个空的 ActionSet 通过“扩展点选择”对话框。

    下一步,添加 visibleWhen 表达式指向在 plugin.xml . 在菜单项上单击鼠标右键,然后选择“新建”->“可见时间”。右键单击 可见时间 元素并选择“新建”->和

    Set变量-“activeContexts”

    右键单击with元素并选择New->iterate。选择新的 iterate 元素并修改其属性,以便任何匹配的元素都将导致表达式计算 true .

    右键单击 迭代 元素并选择“新建->等于”,然后修改“值”属性。

    值=您的新操作集

    最后,将顶级菜单项添加到操作集。