eclipseプラグイン開発の覚え書き

Maskat-JavaEE-supportプラグイン開発は至難を極めた。

なんといっても、資料が見つからない。
いろいろなサイトを見まくって、
デバックをしまくって、
ほかのプラグインのソースを見まくってなんとか完成にこぎつけた。

最初のうちはさっぱり分からんかったが
なんとなーく分かってきたので、ほかにも思いつけば開発していきたい。

と、今回の開発でお世話になったサイトを忘れないうちに紹介しておく。
Eclipseプラグイン開発
ObserveEclipse
Project D.E.Vメモの入り口
特にEclipseプラグイン開発にはお世話になった。
ここがなければ開発できなかったろう。
だが、ひとつ間違いがあるのでここで指摘しておく。
(もしかすると私のやり方が悪いのかもしれないが・・・)

特定ビューへのコンテキストメニュー項目の追加
で紹介されているように、特定のビューにコンテキストメニューを追加するには書いてあるとおり、
拡張ポイントorg.eclipse.ui.popupMenusを使用し、
viewerContributionをつくり、アクションをくっつける。
問題は、actionのmenubarPathだ。 ここではadditionsにせよと書かれているが、これではうまくいかなかった。(eclipseのバーションは3.2.1)
additionalが正しいようだ。
commonclipseプラグインではそうなっていた。

しかしeclipseプラグインは謎(?)が多い。
たとえばIFileというインターフェイスが良く(?)出てくるが、
こいつはファイルパスを表すインターフェイスのようで、
デバックで中を見てみると、フォルダ階層ごとにsegmentとして持っている。
segments()ですべてのセグメントを取得できるのだが、
そんなことをしなくとも、パスを取得したい。
だがそれに相当するメソッドがない。 getPath()とかね。
さっぱり分からんかったのでそのときはjoinしてフルパスを作ったのだけど、なんとtoString()でフルパスが取得できる。
こんなん分かるかーといわんばかりである。

と、そんなこんなでちょっとはプラグインに強くなりました。

やっぱりやると断然力がつきますね。