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.