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 件のコメント:
コメントを投稿