Os plug-ins podem adicionar seu próprios conjuntos de ações, exibições e vários atalhos para as perspectivas existentes, colaborando com o ponto de extensão de org.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 em 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 o relacionamento de layout entre a nova exibição e a exibição relative.
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.
Também é possível especificar uma ou mais exibições como um showInPart válido. As exibições devem ser especificadas pelo ID utilizado em sua contribuição de extensão org.eclipse.ui.views. Isso controla quais exibições estão disponíveis como destinos no menu Navegar > Mostrar Em . A habilidade em especificar uma exibição "mostrar em" na marcação de extensão permite adicionar suas exibições recém contribuídas como destinos nos menus "mostrar em" de outra perspectiva. Consulte Vinculando exibições e editores para obter informações adicionais sobre "mostrar em".
Consulte org.eclipse.ui.perspectiveExtensions para obter uma definição completa do ponto de extensão.