プラグインは、org.eclipse.ui.perspectiveExtensions 拡張ポイントを使用することにより、独自のアクション・セット、ビュー、およびさまざまなショートカットを既存のパースペクティブへ追加できます。
新規パースペクティブ (アクション・セット、ウィザード・エントリー、ビュー・レイアウト、ビュー・ショートカット、およびパースペクティブ・ショートカット) のために定義できる contribution を、既存のパースペクティブに提供することもできます。 1 つの重要な違いは、これらの contribution は、それらを IPageLayout 内で構成する代わりに、 plugin.xml マークアップで指定されるということです。
以下のマークアップは、JDT がプラットフォームのデバッグ・パースペクティブを拡張する方法を示しています。
<extension point="org.eclipse.ui.perspectiveExtensions"> <perspectiveExtension targetID="org.eclipse.debug.ui.DebugPerspective"> <actionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/> <view id="org.eclipse.jdt.debug.ui.DisplayView" relative="org.eclipse.debug.ui.ExpressionView" relationship="stack"/> <view id="org.eclipse.jdt.ui.PackageExplorer" relative="org.eclipse.debug.ui.DebugView" relationship="stack" visible="false"/> <view id="org.eclipse.jdt.ui.TypeHierarchy" relative="org.eclipse.debug.ui.DebugView" relationship="stack" visible="false"/> <view id="org.eclipse.search.SearchResultView" relative="org.eclipse.debug.ui.ConsoleView" relationship="stack" visible="false"/> <viewShortcut id="org.eclipse.jdt.debug.ui.DisplayView"/> </perspectiveExtension> </extension>
targetID は、プラグインが新規の振る舞いを組み込んでいるパースペクティブの ID です。 actionSet パラメーターは、ターゲット・パースペクティブへ追加される事前宣言アクション・セットの ID を 識別します。 このマークアップは、IPerspectiveFactory 内の IPageLayout.addActionSet の使用に類似しています。
パースペクティブ・ページ・レイアウト情報が宣言されなければならないため、ビューをパースペクティブへ組み込む方が少し複雑です。 visible 属性は、パースペクティブが開くときに、組み込まれたビューを最初に見えるようにするかどうか制御します。 組み込まれたビューの ID の提供に加え、パースペクティブ (relative ビュー) 内に既に存在するビューの ID を、新規ビュー配置のための参照点として指定する必要があります。 relationship パラメーターは、新規ビューおよび relative ビュー間のレイアウト関係を指定します。
perspectiveShortcut を指定することは、別のパースペクティブ (id で指定される) が、ターゲット・パースペクティブの
「ウィンドウ」>「パースペクティブを開く...」メニューに追加されることを示します。
このマークアップは、IPerspectiveFactory 内のオリジナルのパースペクティブ定義で IPageLayout.addPerspectiveShortcut を呼び出すことに類似しています。
また、プラグインは、同様の方法で、ビュー・ショートカットおよび新規ウィザード・ショートカットを追加できます。
有効な showInPart として複数のビューを指定することもできます。 ビューは、org.eclipse.ui.views 拡張コントリビューション項目で使用される ID によって指定する必要があります。 これにより、「ナビゲート」>「表示」メニューでターゲットとして使用できるビューが制御されます。 拡張マークアップで「表示」ビューを指定できる機能により、新規に提供されたビューを別のパースペクティブの「表示」メニューにターゲットとして追加できます。 「表示」の詳細については、『ビューおよびエディターのリンク』を参照してください。
拡張ポイントの完全な定義については、『org.eclipse.ui.perspectiveExtensions』を参照してください。