I plug-in possono aggiungere insiemi di azioni, viste e vari collegamenti a prospettive esistenti contribuendo al punto di estensione org.eclipse.ui.perspectiveExtensions.
I contributi che è possibile definire per le nuove prospettive (insiemi di azioni, voci delle procedure guidate, layout di viste, collegamenti a viste e collegamenti a prospettive) possono essere forniti anche per le prospettive esistenti. Un'importante differenza consiste nel fatto che tali contributi vengono specificati nel tag plugin.xml anziché configurati in un IPageLayout.
Il seguente tag mostra in che modo il JDT estende la prospettiva di debug della piattaforma.
<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 corrisponde all'ID della prospettiva cui il plug-in sta aggiungendo il nuovo comportamento. Il parametro actionSet identifica l'id di un insieme di azioni precedentemente dichiarato che è necessario aggiungere alla prospettiva di destinazione. L'utilizzo di questo tag equivale all'utilizzo di IPageLayout.addActionSet in IPerspectiveFactory.
Aggiungere una vista a una prospettiva è un'operazione leggermente più complessa, poiché richiede che vengano dichiarate le informazioni relative al layout di pagina della prospettiva. L'attributo visible controlla se la vista aggiunta viene inizialmente mostrata all'apertura della prospettiva. Oltre a fornire l'id della vista aggiunta, occorre specificare l'id di una vista già esistente nella prospettiva (una vista relative) come punto di riferimento per il posizionamento della nuova vista. Il parametro relationship specifica la relazione di layout tra la nuova vista e quella relative.
La specifica di un perspectiveShortcut indica che è necessario aggiungere un'altra prospettiva (specificata dall'id) al menu Finestra->Apri prospettiva... della prospettiva di destinazione. L'operazione è analoga a quella effettuata richiamando IPageLayout.addPerspectiveShortcut nella definizione originale della prospettiva in IPerspectiveFactory. I plug-in, inoltre, possono aggiungere collegamenti a viste e a procedure guidate Nuovo con un procedimento simile.
È anche possibile specificare una o più viste come uno showInPart valido. Le viste devono essere specificate con l'id utilizzato nel loro contributo di estensione org.eclipse.ui.views. Questo controlla quali viste sono disponibili come destinazioni nel menu Esplora > Mostra in. La possibilità di specificare una vista "Mostra in" nelle tag di estensione consente di aggiungere le nuove viste come destinazioni per i menu "Mostra in" di altre prospettive. Per ulteriori informazioni su "mostra in", fare riferimento a Collegamento di viste ed editor.
Per una definizione completa del punto di estensione, consultare org.eclipse.ui.perspectiveExtensions.