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 verwandte 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ültigen Wert für showInPart angeben. Die Sichten sollten durch die ID angegeben werden, die in ihrer Erweiterungsergänzungorg.eclipse.ui.views verwendet wird. Dies steuert, welche Sichten als Ziele im Menü Navigieren > Anzeigen in verfügbar sind. Durch die Möglichkeit, in den Erweiterungsbefehlen eine Sicht für die Option "Anzeigen in" anzugeben, können Sie neu ergänzte Sichten als Ziele in den Menüs "Anzeigen in" einer anderen Perspektive ergänzen. Weitere Informationen zu den Menüs "Anzeigen in" finden Sie unter Sichten und Editoren verlinken.
Eine vollständige Definition des Erweiterungspunktes finden Sie im Abschnittorg.eclipse.ui.perspectiveExtensions.