org.eclipse.ui.perspectiveExtensions

Moduły dodatkowe mogą dodawać swoje własne zbiory akcji, widoki i różne skróty do istniejących perspektyw, wnosząc je w punkcie rozszerzenia org.eclipse.ui.perspectiveExtensions.

Elementy wnoszone, które można definiować dla nowych perspektyw (zbiory akcji, wpisy kreatorów, układ widoków, skróty do widoków i skróty do perspektyw), można także wprowadzać w istniejących już perspektywach.  Jedna istotna różnica polega na tym, że te elementy wnoszone określa się w pliku znaczników plugin.xml, a nie konfiguruje w interfejsie IPageLayout.

Poniższy kod znaczników przedstawia sposób rozszerzenia przez pakiet JDT perspektywy debugowania platformy.

<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>

Atrybut targetID to identyfikator perspektywy, do której moduł dodatkowy wnosi nowe zachowanie.  Parametr actionSet określa atrybut id zadeklarowanego wcześniej zbioru akcji, który powinien zostać dodany do perspektywy docelowej.  Ten kod znaczników jest analogiczny do użycia metody IPageLayout.addActionSet w interfejsie  IPerspectiveFactory.

Wnoszenie widoku do perspektywy jest nieco bardziej złożone, ponieważ muszą zostać zadeklarowane informacje o układzie strony perspektywy.  Atrybut visible decyduje, czy wnoszony widok jest widoczny po otwarciu perspektywy.  Oprócz podania atrybutu id wnoszonego widoku, konieczne jest także określenie identyfikatora widoku, który już istnieje w perspektywie (widoku określonego atrybutem relative), jako punktu odniesienia dla umieszczenia nowego widoku.  Parametr relationship określa relacje układów nowego widoku i widoku określonego atrybutem relative.  

Określenie elementu perspectiveShortcut wskazuje, że do menu otwieranego przez wybranie opcji Okna->Otwórz perspektywę w perspektywie docelowej powinna być dodana nowa perspektywa (określona atrybutem id).   Ten kod znaczników jest analogiczny do wywołania w definicji oryginalnej perspektywy metody IPageLayout.addPerspectiveShortcut z interfejsu IPerspectiveFactory.  W podobny sposób moduły dodatkowe mogą także dodawać skróty do widoków i do nowych kreatorów.  

Można także określić jeden lub więcej widoków w charakterze poprawnych elementów showInPart.   Widoki powinny być określane za pomocą identyfikatorów używanych w ich elementach wnoszonych rozszerzenia org.eclipse.ui.views.   Od tego zależą widoki dostępne jako elementy docelowe w menu otwieranym po wybraniu opcji Nawigacja > Pokaż w.  Możliwość określenia widoku dla opcji "Pokaż w" w kodzie znaczników rozszerzenia pozwala dodawać wnoszone widoki jako widoki docelowe do opcji "Pokaż w" innej perspektywy.  Więcej informacji na temat opcji "Pokaż w" zawiera sekcja Łączenie widoków i edytorów.

Pełną definicję punktu rozszerzenia można znaleźć w sekcji org.eclipse.ui.perspectiveExtensions.