2012-09-27 13 views
10

Eclipse Package Explorerのコンテキストメニューから項目にサブメニュー項目を追加しようとしています。org.eclipse.ui.menusを使用してEclipse Package Explorerコンテキストメニュー項目にサブメニュー項目を追加する方法は?

メニュー項目は、私が作業しているプラ​​グインではなく、別のプラグインですでにorg.eclipse.ui.popupMenusで定義されています。 (そのプラグインは、私のプラグインの依存関係リストに追加されます)。サブメニューにも項目が追加されていますが、org.eclipse.ui.popupMenusも使用しています。これをorg.eclipse.ui.menus経由で実行しようとしています。 、私は次のようでしたそもそも

  • 私はorg.eclipse.ui.commandsとorg.eclipse.ui.menusの拡張子を追加しました。
  • 私は、それぞれこのようなmenuContribution、コマンドを定義した:

enter image description here

これは任意のコンテキストメニューに項目を追加...だから私は「org.eclipse.ui.popupを交換しなければなりません.any?after = additions "をサブメニューのIDで表示すると、アイテムが表示されます。

私の問題は正しい位置を特定する方法です。 私は、メニューのスパイ(ALT + SHIFT + F2)を使用し、私はに貢献したいサブメニューを点検し、私は、次のURIを受け取っ:

メニュー:YYY後= ZZZ、:?

YYYをサブメニュー項目を追加したいメニューのIDです ZZZは、(スパイを使用して)クリックしたサブメニューからのアクションのIDです

私は以下を試してみましたが、サブメニュー項目は表示されません。

  • メニュー:[?=の追加後] YYY
  • ポップアップ:[?=の追加後] YYY

私は新しいメニューの貢献を定義することによって、それを動作させるために管理:)

+0

あなたはポップアップを試しましたか?YYYY?after = ZZZ? – mhussein

+0

はい、私もそれを試して、それは助けになりませんでした。しかし、私はそれをうまく機能させることができただけです。新しいメニューの投稿と、既に定義されているメニューと同じIDとラベルを持つメニューを定義しなければならなかった: <メニュー にid =" YYY」 ラベル= "YYYs_label">これにより 、としてlocationURIを置き換える: "ポップアップ:YYY =の追加の後に"?今それは動作します。これが正しい方法であるかどうかはわかりませんが、うまくいきます。 – catalina

+0

...ありがとう、あなたの興味と、私を助けようとしてくれてありがとう:) – catalina

答えて

10

助けてくださいとすでに定義されているメニューと同じIDとラベルを持つメニューです。最終的な解決方法は次のようになります。

<extension point="org.eclipse.ui.menus"> 
    <menuContribution 
     locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions"> 
    <menu 
      id="YYY" 
      label="%YYYs_label"> 
    </menu> 
    </menuContribution> 
    <menuContribution 
     locationURI="popup:YYY?after=additions"> 
    <command 
      commandId="example.MyCommandHandlerID" 
      icon="icons/somePhoto.gif" 
      label="MyLabel" 
      style="push"> 
    </command> 
    </menuContribution> 
</extension> 
+2

これは唯一の回避策です。 'org.eclipse.ui.menus'は、' org.eclipse.ui.actionSets'や 'org.eclipse.ui.popupMenus'のようなレガシーアクション拡張の前に適用されます。 –

+0

**パッケージのURI **エクスプローラのコンテキストメニューは 'popup:org.eclipse.jdt.ui.PackageExplorer?after = additions'です。 –

関連する問題