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 visualização, atalhos da visualizaçã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 visualizaçã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 visualização de contribuição ficará visível inicialmente quando a perspectiva for aberta. Além de fornecer o ID da visualização de contribuição, o ID de uma visualização já existente na perspectiva (uma visualização relativa) deve ser especificado como um ponto de referência para o posicionamento da nova visualização. O parâmetro relationship especifica o relacionamento de layout entre a nova visualização e a visualizaçã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 visualizaçã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.