拡張は、プラットフォームに振る舞いをコントリビュートするための中心的なメカニズムです。 プラグインが、他のプラグインから使用できる単純な Java API ライブラリーでない限り、 新規の振る舞いが拡張としてコントリビュートされます。
「拡張」ページでは、プラグインがプラットフォームにコントリビュートする拡張機能を追加、除去、および変更できます。
各拡張ポイントには、その文法を指定する XML スキーマが付属しています。したがって、 正しく処理が行われるためには、拡張機能の構文がその文法に従っている必要があります。新しい拡張機能を 作成すると、PDE は、対応する拡張ポイントに対する文法を抽出し、拡張機能ビューアーで選択されている 各エレメントのコンテキスト・メニューに、作成できる有効な子エレメントのリストを設定します。
また、PDE は、拡張機能の本体で選択されている各エレメントについて、そのエレメントに対して 有効なすべての属性を「拡張エレメント詳細」セクションに設定します。必須の属性はアスタリスクで示されます。
属性名の上にマウスを移動すると、ツールチップ・ボックスが表示され、その属性の目的が示されます。
上記のクラス 属性のように、値として Java クラスの名前を指定する必要のある属性の場合は、 属性の名前をクリックすると、指定されている Java ファイルが存在する場合にはそれが開きます。ファイルが 存在しない場合には、クラス のリンクをクリックすると、JDT の「新規クラス」ウィザードが起動され、 新しい Java クラスを作成できます。拡張ポイントに対するスキーマで特定の属性に対する正しいスーパークラスと インターフェースの情報が指定されている場合には、PDE はこれらの情報でウィザードの事前準備を行います。