Les plug-in peuvent ajouter des jeux d'actions, des vues et divers raccourcis aux perspectives existantes en contribuant au point d'extension org.eclipse.ui.perspectiveExtensions.
Les contributions pouvant être définies pour de nouvelles perspectives (ensembles d'actions, entrées d'assistant, présentation de vue et raccourcis de perspectives) peuvent également être fournies pour une perspective existante. Une différence majeure tient au fait que ces contributions figurent dans les marques de plugin.xml au lieu d'être configurées dans IPageLayout.
Les marques suivantes montrent comment JDT étend la perspective de débogage de la plateforme.
<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>
Le paramètre targetID correspond à l'ID de la perspective à laquelle le plug-in ajoute un nouveau comportement. Le paramètre actionSet identifie l'ID d'un ensemble d'actions déclaré par le passé et devant être ajouté à la perspective cible. Ces marques reviennent à utiliser IPageLayout.addActionSet dans IPerspectiveFactory.
L'ajout d'une vue à un perspective est un peu plus compliqué puisque les informations de présentation de la page de perspective doivent être déclarées. L'attribut visible contrôle si la vue ajoutée est visible à l'ouverture de la perspective. Outre l'indication de l'ID de la vue ajoutée, l'ID d'une vue existant déjà dans la perspective (une vue relative) doit être spécifié comme point de référence pour placer la nouvelle vue. Le paramètre relationship indique la relation de présentation entre la nouvelle vue et celle relative.
Si perspectiveShortcut est indiqué, une autre perspective (spécifiée par ID) doit être ajoutée au menu Fenêtre->Ouvrir la perspective... de la perspective cible. Ces marques reviennent à appeler IPageLayout.addPerspectiveShortcut dans la définition de perspective d'origine dans IPerspectiveFactory. Les plug-in peuvent également ajouter des raccourcis de vue et de nouvel assistant d'une façon similaire. Reportez-vous à org.eclipse.ui.perspectiveExtensions pour une définition complète du point d'extension.