2010-11-24 45 views

回答

4

這裏是我發現,在一個開源項目,它的工作對我來說:

<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> 
+0

如果我想在特定視圖或頁面處於活動狀態時顯示菜單,是否可以使用此方法?例如,只有當「大綱」視圖處於活動狀態時才顯示。 – Icarin 2014-10-13 22:21:18

0

這是你需要做的事情的簡要概述。

要限制頂層菜單的可見性,請通過「擴展點選擇」對話框創建一個空的ActionSet

接下來,將visibleWhen表達式添加到plugin.xml中定義的頂層菜單項。右鍵單擊菜單項並選擇New - > visibleWhen。右鍵單擊visibleWhen元素並選擇New - >與

設置變量 - 「activeContexts」

上右鍵單擊與元素,並選擇新建 - >迭代。選擇新的iterate元素並修改其屬性,以便任何匹配的元素都將導致表達式評估true

右鍵單擊iterate元素並選擇New - > equals,然後修改value屬性。

值=新ActionSet

最後,頂級菜單項添加到您的ActionSet。

+0

我不使用「菜單」擴展點使用actionSet但菜單的貢獻。我找到了一個方法,比較我的答案。不管怎樣,謝謝你。 – 2010-11-26 15:46:01

1

我建議使用命令框架。

this tutorial可以幫助你

要限制你的命令的知名度,你應該檢查相提並論。 5

相關問題