Eclipse 4.2 Juno で右クリックメニューにメニューを追加するには org.eclipse.ui.menus 拡張ポイントを使います。
locationURI に popup:org.eclipse.ui.popup.any を指定することで、右クリックにメニューを追加できます。
その他の locationURI の例は org.eclipse.ui.commandsはナカナカいけるのね を見てください。どうやら、基本的には頑張って locationURI を自分で探すようですね。(誰か完全な locationURI のリストでも作らないかな)
このままだとどこで右クリックしてもメニューが表示されてしまいます。何か条件が満たされたときだけ表示するには visibleWhen を指定すればいいようです。
僕は visibleWhen for command to appear in context menu あたりを参考にしました。
以下はプロジェクトエクスプローラ(もしかしたら他のファイル選択系ビューでも有効かもしれないけど実験していません)でファイル(IFile)かプロジェクトフォルダ(IProject)が選択された状態で右クリックしたときだけ "Import Command" メニューを表示するための記述例です。
<extension point="org.eclipse.ui.menus"> <menuContribution allPopups="false" locationURI="popup:org.eclipse.ui.popup.any"> <command commandId="com.github.uchan_nos.directory_importer.importCommand" label="Import Command" style="push"> <visibleWhen checkEnabled="false"> <with variable="selection"> <iterate ifEmpty="false" operator="or"> <or> <instanceof value="org.eclipse.core.resources.IFile"> </instanceof> <instanceof value="org.eclipse.core.resources.IProject"> </instanceof> </or> </iterate> </with> </visibleWhen> </command> </menuContribution> </extension>
0 件のコメント:
コメントを投稿