プラグインのソースをのぞいてみる
まずはplugin.xmlです。このファイルはプラグインの各種情報を記述する非常に重要なファイルです。plugin.xmlはマニフェスト・エディタでグラフィカルに編集を行うことができます。マニフェスト・エディタは以下のタブを持っています。plugin.xmlがどのような情報を持っているのか一通り目を通しておくとよいでしょう。
「plugin.xml」タブではplugin.xmlのソースを直接編集することができます。今回のサンプルでは以下のような内容になっています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
実際にメニューの追加を宣言しているのはextension要素になります。(1)ではpoint属性でEclipseのどの拡張ポイントに対して拡張を行うかを宣言しています。拡張ポイントとはプラグインがEclipseを拡張するためのエントリポイントとなるもので、Eclipseプラットフォームにはデフォルトでさまざまな拡張ポイントが用意されており、プラグインを開発する場合、まず「どの拡張ポイントに対して拡張するか」を決定することから始まります。ここでは org.eclipse.ui.actionSets という拡張ポイントを指定していますが、ビューを作成するのであればビュー用の拡張ポイント、エディタを作成するのであればエディタ用の拡張ポイントを指定することになります。extension要素の配下に記述する内容は拡張ポイントによって異なってきます。
メニューバーやツールバーに表示される項目はaction要素で定義します。アクションは(2)のactionSet要素でアクションセットとしてグループ化することができます。グループ化されたアクションはまとめて表示・非表示を切り替えたりすることができます。ここではactionSet要素のvisible属性がtrueになっているため、デフォルトで表示されましたが、ユーザーは[Window]→[Customize Perspective...]の[Commands]タブで表示するかどうかを選択することが可能です。
action要素ではmenubarPath属性とtoolbarPath属性でメニューバーとツールバーへのアクションの挿入位置を指定しています。ここではmenu属性で[Sample Menu]というメニューを定義し、そこにアクションを挿入していますが、例えばmenubarPath属性に“file/additions”と指定すると[File]メニューに挿入することができます。
(3)のclass属性で指定されているjp.sf.sample.actions.SampleActionクラスのrunメソッドがメニューアイテム選択時に実行されるクラスになります。run()メソッドのソースを見るとorg.eclipse.jface.dialogs.MessageDialogクラスのopenInformation()メソッドを利用してダイアログを表示しているのが分かります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
もう1つ、プロジェクトにはSamplePluginというクラスが作成されています。これはプラグインそのものの初期化処理や、プラグインで使用するイメージ等を一括管理するためのクラスです。例えば、プラグイン・プロジェクトのicons/sample.gifを読み込むには以下のようにします。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このほかにもテンプレートで作成可能なプラグインにはビューやエディタなどさまざまなものが用意されていますので、一通り試してみて実装方法の参考にするとよいでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.