Keep it simple, stupid!!

IT系で調べたこととか考えたこととか書くつもりです。

Eclipseプラグイン作成

最近、Eclipseプラグインを作った。
とりあえず初歩の初歩だけど、jarにするまでの手順を書く。
(使ってるのはEclipse3.7の日本語化です。)

プロジェクトを作る

Eclipseから、
「ファイル」→「新規」→「プラグイン・プロジェクト」
「プロジェクト名」を決めて「次へ」。

「ID」に適当にいれる。(アクティベーターのパッケージ名とかにするといい感じかも。)
「名前」に何プラグインなのかいれる。
「アクティベーター*1」にプラグインのアクティベータークラス名をいれる。
「次へ」。


次に選ぶのはテンプレート。
テンプレートを選んで作成すればかなり簡単に始められる。
いくつか試した奴だけ下記に説明する。

インクリメンタル・プロジェクト・ビルダー付きプラグイン Eclipseのビルドに乗っけて何かやれるプラグインを作るならここから始めるのがいい。
エディター付きプラグイン 何かのファイルのエディターを作るならここから始めるのがいい。
ビュー付きプラグイン Eclipseの「ウィンドウ」→「ビューの表示」で出てくるビューを作るならここから始めるのがいい。
Hello,Worldコマンド Eclipseのメニュー・ツールバーにアクションを乗っけたいならここから始めるのがいい。
カスタム・プラグイン・ウィザード 複合的にいろんなテンプレートをいっぺんに使いたい場合はここから始める。
普通のテンプレートには無い「設定ページ」があったりする。
(実は後でどうにでもなるので、作る範囲が決まってなければメイン部分のテンプレートで始めるといい)


この次は、どのテンプレートを選んだかで入力項目が違うので勘で入れてく。
どうしてもわからなければ、一旦捨てプロジェクト作って試すといいと思う。


「完了」するとプロジェクトができてる。

javaじゃないファイル

いくつかよくわからないファイルができてると思う。
基本的にはEclipseさんがUIで入力できるようにしてくれているので
気にせず突き進んでもいいけど、
一応なんとなくわかることだけ書く。

MANIFEST.MF プラグインのIDとか名前とか持ってる。
他には、入ってなきゃいけないプラグイン(依存関係)とか
jar使ったりするならここに書かれる。
plugin.xml どんなプラグイン拡張があるか、それぞれどのクラスで動くか、ここに書いてある。
エディターがあって、このクラスですよ。とか、
ビューがあって、このクラスですよ。とか。
build.properties たぶんエクスポートの時に必要。
「javacDefaultEncoding.. = UTF-8」って追記しないと
プラグインのエクスポートでエラー*2になることがある。

デバッグ

plugin.xml(MANIFEST.MF)をダブルクリックすると、
プラグイン情報用のUIがエディタ領域に出てくる。
「概要」タブの右チョイ下に
Eclipseアプリケーションをデバッグモードで起動」をクリックするとデバッグできる。

プラグインをjarファイルにする(エクスポート)

デバッグと同じく「概要」タブの右下の
「エクスポート・ウィザード」をクリックして、
「宛先」(出力先)を適当に選んで「完了」するとjarができる。

*1:Activator。AbstractUIPluginを継承して作成されるクラス。プラグインの中心クラス

*2:Eclipseの環境によるっぽい。MS932で記載してたら要らないのかな?