Aggiunta di azioni di team

Il plugin dell'interfaccia utente di team definisce un'estensione di menu di scelta rapida per raggruppare tutte le azioni correlate al team in un'unica posizione.  Il menu di team include molti slot di sottogruppo in modo che i plugin del fornitore di team possano fornire azioni ed esercitare un certo controllo sull'ordine delle voci contenute nel menu.  Il tag riportato di seguito appartiene al manifest di plugin della UI di team:

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

Un menu di team viene aggiunto al menu di scelta rapida di tutte le viste che mostrano risorse (oppure oggetti che si adattano a risorse.)  Il plugin può utilizzare l'ID di questo menu e i gruppi dei separatori per aggiungere voci di menu personalizzate.  È possibile anche definire menu di scelta rapida, insiemi di azioni o azioni di viste ed editor personalizzati.  In ogni caso, l'aggiunta di azioni personalizzate al menu di team predefinito semplifica l'individuazione delle azioni da parte dell'utente finale.

Di seguito è riportata un'azione CVS che illustra alcuni interessanti punti:

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

Si noti che l'azione viene fornita mediante il punto di estensione del workbench org.eclipse.ui.popupMenus.  Di seguito alcune indicazioni specifiche del team relative al tag:

L'implementazione di un'azione dipende in larga misura dal fornitore specifico.