簡単なプラグインを作ってみる

EclipseのPlug-in Projectには、はじめからテンプレートが入っていて簡単なプラグインをテンプレートを選択するだけで作ることができます。
実際に作ってみましょう。

hello, world

これからは実際にプラグインを作っていくので、workspaceをいつも使っているものに戻しておいたほうがいいでしょう。
切り替えは、[File]→[Switch Workspace...]でできます。

プロジェクト作成ウィザードを起動します。プラグインを作るので、通常のjava Projectではなく、Plug-in Projectを選択します。

選択したら[Next]をクリックします。

プロジェクトの名前を決めます。今回は上のように「sample」とします。入力したら[Next]をクリックします。

上の画面では特に変更する必要はないので[Next]をクリックします。

上の画面でテンプレートを選択します。[Hello, World]を選択して、[Next]をクリックします。

上の画面ではテンプレートによって作成するプラグインの情報を入力します。特に変更する必要はないので、そのまま[Finish]をクリックします。
パースペクティブをプラグイン開発のものにするかを聞かれたら、 [No]として大丈夫です。

プラグイン・プロジェクトが生成され、画面が切り替わります。上のようにマニフェスト・エディタが開かれた状態になっているはずです。

では、実際に今作られたプラグインを動かしてみましょう。マニフェスト・エディタの[Overview]ページの右側にある[Launch an Eclipse application]をクリックします。
すると、新しいEclipseが起動します。これを「ランタイム・ワークベンチ」といって、開発中のプラグインが組み込まれた状態で起動します。これで動作を確認してみましょう。

起動すると、上のように、メニューとツールバーに新しいボタンが設置されています。これを押すと、「Hello, Eclipse world」と表示されます。
これで実際にプラグインが動いていることが確認できました。

では、ソースコードを見ていきましょう。

SampleAction.java:

package sample.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.jface.dialogs.MessageDialog;

public class SampleAction implements IWorkbenchWindowActionDelegate {
	private IWorkbenchWindow window;

	public SampleAction() {
	}

	public void run(IAction action) {
		MessageDialog.openInformation( //ダイアログを表示
			window.getShell(),
			"Sample Plug-in",
			"Hello, Eclipse world");
	}

	public void selectionChanged(IAction action, ISelection selection) {
	}

	public void dispose() {
	}

	public void init(IWorkbenchWindow window) {
		this.window = window;
	}
}

上のrun()メソッドでアクションの処理を記述しています。メソッドの中身は、ダイアログを表示する処理が書いてあります。

Activator.javaはプラグインのライフサイクルを規定するものです。これはプラグインクラスと呼ばれます。プラグインは必ずこのクラスを持っていて、プラグインが実行されるとき、このクラスが最初にロードされます。初期化や終了処理などを行います。

plugin.xml:

<plugin>
   <extension
         point="org.eclipse.ui.actionSets"> //拡張ポイントの設定
      <actionSet
            label="Sample Action Set"
            visible="true"
            id="sample.actionSet">
         <menu
               label="Sample &Menu"
               id="sampleMenu">
            <separator
                  name="sampleGroup">//新たなメインメニューの定義
            </separator>
         </menu>
         <action
               label="&Sample Action"
               icon="icons/sample.gif"
               class="sample.actions.SampleAction"//アクションが実装されたクラス
               tooltip="Hello, Eclipse world"
               menubarPath="sampleMenu/sampleGroup"//メニューバーに挿入
               toolbarPath="sampleGroup"           //ツールバーに挿入
               id="sample.actions.SampleAction">
         </action>
      </actionSet>
   </extension>
</plugin>

上のようなXMLでプラグイン・マニフェストを記述しています。ここでは、拡張ポイントの指定や、メニューの位置などを指定していますが、今回はマニフェストエディターを使って拡張ポイントの設定などはやっていきますので直接編集する必要はありません。
慣れてきたら直接編集してみましょう。

以上で「Hello, World」の説明は終わりです。次は、今回作成しようとしている「辞書プラグイン」はビューを拡張しているので、ビューのテンプレートを使って実装してみましょう。
テンプレートを選ぶところで、[Plug-in with a view]を選べばビュー付きのプラグインを作ることができます。
完成したビューは、ランタイム・ワークベンチの[Window]→[Show View]→[Other...]→[プラグインのカテゴリー名]で表示することができます。
<前へ 次へ>