Eclipse の拡張性の基本は、プラグインと拡張点です。事実、Eclipse はプラグインのセットとして構成されています。 プラグインは、 Java™ でコーディングされ、プラグイン・ディレクトリーに格納されています。それぞれのプラグインには、マニフェスト・ファイルが含まれます。マニフェスト・ファイルには、このプラグインが他のプラグインに対して提供する拡張点と、このプラグインが利用する他のプラグインの拡張点を宣言します。Eclipse の Software Development Kit (SDK) の一部である Plug-in Development Environment (PDE) は、プラグイン開発のすべてのステージを支援する一連のツールを備えています。
Eclipse に用意されている Java Development Tooling (JDT) には、Java 固有の動作を Eclipse プラットフォームに追加し、Java プログラムまたはリソースと相互作用するプラグインを作成する際に使用できる Java IDE が含まれています。
モデリングとさらに関連の深い Eclipse コンポーネントは、Eclipse Modeling Framework (EMF) です。このフレームワーク上に作成されたツールとアプリケーションでは、効率的でカスタマイズ可能な Java コードをモデルから生成できます。EMF 内部では、XML Metadata Interchange (XMI) を使用してモデルが定義されます。この標準ファイル形式によって、ツール間でのモデルの交換や、関連データの操作が容易になります。 EMF は、Eclipse モデリング・ フレームワーク・テクノロジー (EMFT) コンポーネントによって 拡張されたものです。EMFT コンポーネント には、EMF ベース・モデルの操作を補完するテクノロジーが、 複数含まれています。 EMFT テクノロジーの例として、OCL、照会、トランザクション、検証などがあります。
フレームワークおよび関連する API について詳しくは、オンライン・ヘルプの以下のトピックを参照してください。
Eclipse Graphical Modeling Framework (GMF) では、EMF および Eclipse Graphical Editing Framework (GEF) をベースにした グラフィカル・エディターの開発用に、 生成コンポーネントと ランタイム・インフラストラクチャーを提供しています。 また、このコンポーネントでは、 選択したドメイン・モデルで一般的なツールを使用して、 コンポーネントの機能に関する説明も行います。
適切な抽象化レベルでのモデル・アクセスを、 統一モデリング言語仕様に従って利用するには、UML の API を使用します。 これらの API は、UML メタモデルを EMF ベースで実装したものです。