eclipseプラグイン

eclipseプラグインを作るには、
eclipseプラグインプロジェクトを作ってごにょごにょっとやればいい。
自分で自分を拡張できるあたり、コンパイラコンパイラの様で非常に良い。


それは置いておいて、
あれだけ大規模なeclipseなので、プラグインを作るのもさぞ大変かと思いきや
そんなことはない。 簡単なものであれば、すぐ作れる。
もっとも、そんな簡単なプラグインは必要とされないだろうが・・・

さて、私は以前、maskatプロジェクトについていろいろ書いてたときに、
eclipseプラグインを作った。
actionメソッドとイベントXMLの対応をさせるもので、
XML上からカーソルがある位置でもっともふさわしいactionメソッドに飛ぶ機能と
XMLからactionクラスの雛型を生成する機能を作った。
今考えるとよく作ったなーって気もする。


その前には超簡単なeclipse自身のGCをするツールなんかも作った。


プラグイン開発をやってると、
こうしてこうやるってのをどうやるのかが分からなくて
デバッカの御世話になることがままある。
たとえば、選択されているJavaファイルのメソッド一覧を取得し、
その中から指定のメソッド定義位置に画面遷移するとか。


できるようで、やり方が分からないので、そこで時間を食う。
それがすぐ分かるようになったらなんでも作れるようになる気がする。


さて、そんなこんなで、また私の話になるのだが、
内ではopenSUSE10.2を使っているので、
windows専用のプラグインは使えない。


ContextMenuプラグインだったかな?
エクスプローラ上で右クリックしたときのコンテキストメニュー
出してくれる超便利ツールが使えなくなった。
あと、右クリックでエクスプローラで開くをやってくれるやつも使えなくなった。
Linux環境では、eclipseエクスプローラ(とは言わないか・・・)の連携をとるツールは無い。(はず)


ということで、一念発起し、暫定版をつくった。
windowsでも動くが、日本語とか半角が入ってると正常に動かないので注意。
Linuxでも、半角が入ってるとアウト。

何をするかってーと
設定ページで登録したファイルパス + " " +リソース上で選択されているファイル(たち)
をRuntime.getRuntime().exec();
で実行するだけ。
リソースウインドウの右クリックメニューにCommanderというのが追加される


最初は、選択されているファイルにそれぞれ''で括っていたのだが、
私の環境では、それがついていると動かないやつがあったので、その機能は削除してある。
また、Commander→Command#01,Command#02と連番になってるのがどーしても嫌だという人は
plugin.xmlをいじれば良い。labelを書き換えればそのとおり変わる。
導入後の変更であれば、-cleanをするように。


ついでなので、ソースも添付しておく。
勝手に直して使えばいいんじゃね?
ダウンロード


※ホントはコンテキストメニューを動的に(ラベルも含めて)変更したかったのだけれど、
どうも、そういうことは(popupMenusに関しては)出来ないらしい。
出来る方法があれば、そういう実装にいしたいんだが・・・