Os plug-ins podem incluir conjuntos de ações, exibições e vários atalhos para as perspectivas existentes, colaborando com o ponto de extensão deorg.eclipse.ui.perspectiveExtensions.
As contribuições que podem ser definidas para novas perspectivas (conjuntos de ações, entradas do assistente, layout da exibição, atalhos da exibição e atalhos da perspectiva) também podem ser fornecidas para uma perspectiva existente. Uma diferença importante é que essas contribuições são especificadas na marcação plugin.xml, em vez de configurá-las em um IPageLayout.
A marcação a seguir mostra como o JDT estende a perspectiva de depuração da plataforma.
<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>
O targetID é o ID da perspectiva para o qual o plug-in está contribuindo com novo comportamento. O parâmetro actionSet identifica o id de um conjunto de ações declaradas anteriormente que devem ser incluídas na perspectiva de destino. Esta marcação é o mesmo que utilizar IPageLayout.addActionSet na IPerspectiveFactory.
Contribuir com uma exibição em uma perspectiva é um pouco mais complicado, pois as informações sobre layout de página da perspectiva devem ser declaradas. O atributo visible controla se a exibição de contribuição ficará visível inicialmente quando a perspectiva for aberta. Além de fornecer o id da exibição de contribuição, o id de uma exibição já existente na perspectiva (uma exibição relativa) deve ser especificado como um ponto de referência para o posicionamento da nova exibição. O parâmetro relationship especifica a relação de layout entre a nova exibição e a exibição relativa.
Especificar um perspectiveShortcut indica que outra perspectiva (especificada pelo id) deve ser incluída no menu Janela->Abrir Perspectiva... da perspectiva de destino. Essa marcação é o mesmo que chamar IPageLayout.addPerspectiveShortcut na definição de perspectiva original no IPerspectiveFactory. Os plug-ins também podem incluir atalhos de exibições e novos atalhos do assistente de maneira semelhante. Consulte org.eclipse.ui.perspectiveExtensions para obter uma definição completa do ponto de extensão.