Dodawanie akcji zespołowych

Moduł dodatkowy interfejsu użytkownika dla zespołu definiuje rozszerzenie w formie menu podręcznego, którego zadaniem jest konsolidacja wszystkich akcji dotyczących zespołów w jednym miejscu.  Menu zespołu obejmuje wiele sekcji podgrup, dzięki którym moduły dodatkowe dostawców zespołowych mogą wnosić akcje i mają pewien stopień kontroli nad kolejnością opcji w menu.  Poniższy kod w języku znaczników pochodzi z manifestu modułu dodatkowego interfejsu użytkownika dla zespołu:

   <extension
    point="org.eclipse.ui.popupMenus">
	<objectContribution
       	   id="org.eclipse.team.ui.ResourceContributions"
           objectClass="org.eclipse.core.resources.IResource" adaptable="true">
		<menu
			id="team.main"
			path="additions"
			label="%TeamGroupMenu.label">
			<separator name="group1"/>
			<separator name="group2"/>
			<separator name="group3"/>
			<separator name="group4"/>
			<separator name="group5"/>
			<separator name="group6"/>
			<separator name="group7"/>
			<separator name="group8"/>
			<separator name="group9"/>
			<separator name="group10"/>
			<separator name="targetGroup"/>
			<separator name="projectGroup"/>
		   </menu>
	... 
 </extension>

Menu zespołu jest dodawane do menu podręcznego wszystkich widoków, w których wyświetlane są zasoby (lub obiekty, które dostosowują się do zasobów).  Moduł dodatkowy może używać identyfikatora tego menu i grup separatorów, aby dodawać własne elementy menu.  Nic nie stoi na przeszkodzie, aby definiować własne menu podręczne, zbiory akcji lub akcje widoku i edytora.  Tym niemniej dodawanie własnych akcji do zdefiniowanego wstępnie menu zespołu ułatwi użytkownikowi końcowemu znalezienie tych akcji.

Poniżej przedstawiono akcję CVS, która demonstruje pewne interesujące cechy:

   <extension
    point="org.eclipse.ui.popupMenus">
     <objectContribution
        objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
           id="org.eclipse.team.ccvs.ui.IFileContributions">
      <filter
              name="projectPersistentProperty"
              value="org.eclipse.team.core.repository=org.eclipse.team.cvs.core.cvsnature">
        </filter>
   <action
              label="%IgnoreAction.label"
              tooltip="%IgnoreAction.tooltip"
              class="org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction"
              menubarPath="team.main/group3"
              helpContextId="org.eclipse.team.cvs.ui.team_ignore_action_context"
              id="org.eclipse.team.ccvs.ui.ignore">
        </action>
	...

Należy zauważyć, że akcja jest wnoszona przy użyciu punktu rozszerzenia środowiska roboczego org.eclipse.ui.popupMenus.   Oto niektóre charakterystyczne dla zespołu rozwiązania, które widać w kodzie w języku znaczników:

Implementacja akcji zależy w dużym stopniu od konkretnego dostawcy.