プラグインの基礎知識

作成 2003/1/1

プラグインアーキテクチャー

Everything is Plugin

Eclipseは「プラグインのかたまり」で構成されています。コアとなるランタイム以外はすべてプラグインです。リソースナビゲータもJavaエディタもプラグインです。Eclipseに新たな機能を追加したい場合は、プラグインを作成し、Eclipseに追加します。

マニフェスト

プラグインの設定ファイルをマニフェストファイルといいます。マニフェストファイルは、「plugin.xml」という名前です。このファイルに様々な設定を記述していきます。

拡張ポイント

既存のプラグインを拡張するには、「拡張ポイント」を拡張します。一般的なプラグインの作成方法では、マニフェストに拡張ポイントを指定し、その拡張ポイントに対応したインターフェイスを実装したクラスを作成します。また、拡張ポイントは、新たに作成することもできます。

PDE

EclipseにはPDE(Plugin Development Enviroment)、プラグイン開発環境というものが標準で用意されています。多くの機能がありますが、次の機能はよく利用します。

マニフェストエディタは、plugin.xmlを記述するエディタです。GUI上でプラグインを拡張していくことができます。PDEワークベンチを使うと、プラグインをエクスポート、配置せずに、実行、デバッグすることが可能です。

基本API

次の図は、Eclipse全体のプラグインアーキテクチャを示したものです。

図 Eclipseアーキテクチャー(Eclipseのヘルプより)

基本UI API

左上のWorkbench、JFace、SWTの3つは基本となるユーザーインターフェイスを提供するAPIです。

SWT

SWT(Standard Widget Toolkit)はGUIのAPIです。AWTやSwingに相当するものですが、Eclipseの開発者たちは、新たにSWTを設計、利用しました。SWTの特徴は、OSネイティブの機能を利用することで、高速に動作し、見た目はOSネイティブのものになります。なお、ネィティブの機能は利用しますが、SWT自体のコードは(一部のOS依存機能を使わなければ)プラットホーム非依存です。SWTはorg.eclipse.swtからはじまるパッケージで提供されています。

JFace

JFaceはSWTより上のレベルにあるAPIです。より"やりたいこと"ができるようなAPIが提供されています。ビューア、アクション、ウィザード、テキスト、フォント、イメージレジストリなどの機能が提供されています。JFaceはorg.eclipse.jfaceからはじまるパッケージで提供されています。

Workbench UI

EclipseとプラグインをつなぐAPIです。多くの拡張ポイントではWorkbench UI APIを利用します。Workbench UI はorg.eclipse.uiからはじまるパッケージで提供されています。

なお、SWTとJFace APIはEclipseに依存せず、スタンドアロンのアプリケーションで利用することが可能です。

その他の基本API

ランタイム

EclipseのコアとなるランタイムAPIは、org.eclipse.core.runtimeパッケージで提供されています。

リソースAPI

ファイルやプロジェクトなどを扱う場合はリソースAPI(Workspace API)を利用します。リソースAPIはorg.eclipse.core.resourcesパッケージで提供されています。

JDT

Java開発者であれば、JavaソースやJavaアプリケーションを操作するプラグインを利用、開発することが多いと思います。Java関連の機能はorg.eclipse.jdtからはじまるパッケージで提供されています。


UP| TOP