お早うございます、夜はプログラミングが捗る、レモンです。
研究の関係でEclipseプラグインの開発が必要なので色々やってたんですがボタンを表示させるだけでもかなり苦労したのでメモ。
actionSetsを使う方法がよくWebにあったけどどうも古い形式らしいので(というか、先輩方のコードが使ってなかったので)eclipse.org.ui.menus,commands,handlersを使う。
下層の拡張は右クリックから拡張したいものを選択することで選択する。
また、menus,handlersのcommandIDはcommandsのidに結びついており、それと同じStringを打ち込んでやると連携するみたい。
肝心のボタンを表示させるには
<menuContribution locationURI="menu:org.eclipse.ui.main.menu">
をmenusの直下に付け加えることで下のように表示ができる。plaiades入れてるとなんか勝手に翻訳されるっぽい。
locationURIに何を入れるとどこに表示されるか、はここが参考になった。
![eclipse_1](https://lemonwill.wordpress.com/wp-content/uploads/2014/06/0d40a5e4a645fc6b96e767d64ac0878e.png?w=300&h=39)
ドロップダウン式のボタンが基本なので、その下にcommandを入れてあげてあとはcommandIDでcommandを割り当てて実際の操作をJavaコードに投げるっぽい。
下は作ってみたサンプル。
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="sample2.Handler1"
id="sample2.command2"
name="name">
</command>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu">
<menu
label="Sample Menu">
<command
commandId="sample2.command2"
label="Sample Command"
style="push">
</command>
</menu>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="sample2.command2">
</handler>
</extension>
</plugin>