Plug-ins können vorhandene Perspektiven durch das Hinzufügen von eigenen Aktionssets, Sichten und unterschiedlichen Verknüpfungen am Erweiterungspunkt org.eclipse.ui.perspectiveExtensions ergänzen.
Die Ergänzungen, die für neue Perspektiven (Aktionssets, Assistenteneinträge, Sichtlayouts, Sicht- und Perspektivenverknüpfungen) definiert werden können, können auch für eine bereits vorhandene Perspektive bereitgestellt werden. Ein wichtiger Unterschied besteht darin, dass diese Ergänzungen im Befehlsformat für plugin.xml angegeben und nicht in IPageLayout konfiguriert werden.
Die folgende Befehlsdatei zeigt, wie JDT die Perspektive "Debug" der Plattform ergänzt.
<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 stellt die ID der Perspektive dar, die durch das Plug-in um weitere Funktionen ergänzt wird. Der Parameter actionSet identifiziert die ID eines zuvor deklarierten Aktionssets, das zur Zielperspektive hinzugefügt werden soll. Dieses Befehlsformat erzielt dasselbe Ergebnis wie der Einsatz von IPageLayout.addActionSet in IPerspectiveFactory.
Das Ergänzen einer Perspektive durch eine Sicht ist etwas komplizierter, da die Informationen zum Seitenlayout der Perspektive deklariert werden müssen. Das Attribut visible gibt an, ob die ergänzte Sicht sichtbar ist, wenn die Perspektive zum ersten Mal geöffnet wird. Zusätzlich zur Angabe der Kennung (id) der ergänzten Sicht muss die Kennung einer Sicht angegeben werden, die in der Perspektive bereits definiert wurde (d. h. eine relative Sicht). Diese dient als Referenzpunkt für die Platzierung der neuen Sicht. Der Parameter relationship gibt die Layoutbeziehung zwischen der neuen Sicht und der im Parameter relative angegebenen verwandten Sicht an.
Durch die Angabe von perspectiveShortcut wird angezeigt, dass eine andere (in id angegebene) Perspektive zum Menü Fenster->Perspektive öffnen... der Zielperspektive hinzugefügt werden soll. Dieses Befehlsformat erzielt dasselbe Ergebnis wie das Aufrufen von IPageLayout.addPerspectiveShortcut in der ursprünglichen Perspektivendefinition in IPerspectiveFactory. Plug-ins können in ähnlicher Weise auch zum Hinzufügen von Sichtverknüpfungen und neuen Assistentenverknüpfungen verwendet werden.
Sie können auch eine oder mehrere Sichten als gültiges showInPart angeben. Die Sichten sollten über die ID bestimmt werden, die in der jeweiligen Erweiterungsergänzung von org.eclipse.ui.views angegeben ist. Hierüber wird gesteuert, welche Sichten als Ziele im Menü Navigieren > Anzeigen in zur Verfügung stehen. Die Option, im Befehlsformat der Erweiterung eine Sicht "anzeigen in" anzugeben, bietet Ihnen die Möglichkeit, Ihre neu ergänzten Sichten als Ziele zu den Menüs"anzeigen in" anderer Perspektiven hinzuzufügen. Weitere Informationen über "anzeigen in" finden Sie unter Sichten und Editoren verbinden.
Eine vollständige Definition des Erweiterungspunktes finden Sie im Abschnitt org.eclipse.ui.perspectiveExtensions.