Plugins kunnen zelf actiesets, views en diverse snelkoppelingen naar bestaande perspectieven aanleveren door het extensiepunt org.eclipse.ui.perspectiveExtensions uit te breiden.
U kunt de aanleveringen voor nieuwe perspectieven (actiesets, wizardvermeldingen, viewlayout, viewsnelkoppelingen en perspectiefsnelkoppelingen) ook voor bestaande perspectieven definiëren. Een belangrijk verschil met aanleveringen voor bestaande perspectieven is dat aanleveringen voor nieuwe perspectieven worden opgegeven in de markup van het bestand plugin.xml en niet via IPageLayout.
In de volgende markup ziet u hoe JDT het foutopsporingsperspectief van het platform uitbreidt:
<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>
Het doel-ID (targetID) is het ID van het perspectief waarvoor een nieuw gedragspatroon wordt aangeleverd door de plugin. De parameter actionSet geeft het ID (id) aan van een vooraf gedeclareerde actieset die aan het doelperspectief moet worden toegevoegd. Deze markup is gelijk aan het gebruik van IPageLayout.addActionSet in IPerspectiveFactory.
Het aanleveren van een view voor een perspectief vereist iets meer werk, omdat de gegevens voor de paginalayout van het perspectief moeten worden gedeclareerd. Het kenmerk visible bepaalt of de view wordt afgebeeld bij het openen van het perspectief. Naast het ID van de aangeleverde view moet u ook het ID verstrekken van een bestaande view in het perspectief (een relatieve view), zodat de plaatsing van de nieuwe view kan worden berekend op basis van de bestaande view. De parameter relationship duidt de relatie tussen de nieuwe view en de relatieveview aan.
Als u een perspectiefsnelkoppeling perspectiveShortcut
opgeeft, wordt een ander perspectief (opgegeven met ID)
toegevoegd aan het menu
Venster > Perspectief openen... van het doelperspectief. Deze markup is gelijk aan het aanroepen van IPageLayout.addPerspectiveShortcut in de oorspronkelijke perspectiefdefinitie in IPerspectiveFactory.
U kunt ook viewsnelkoppelingen en snelkoppelingen naar wizards voor nieuwe items op vergelijkbare wijze toevoegen met plugins.
Bovendien kunt u een of meer views instellen als geldig doel voor "Afbeelden in" door middel van showInPart. De views moet u opgeven op basis van het ID dat in de extensieaanlevering org.eclipse.ui.views wordt gebruikt. Zo bepaalt u welke views beschikbaar zijn in het menu-item Navigeren > Afbeelden in. Doordat u views voor "Afbeelden in" kunt opgeven in de extensiemarkup, kunt u aangeleverde views als doelen toevoegen voor het menu-item "Afbeelden in" van een ander perspectief. Raadpleeg Views en editors koppelen voor meer informatie over "Afbeelden in".
Raadpleeg org.eclipse.ui.perspectiveExtensions voor een uitgebreide definitie van het extensiepunt.