O plug-in da UI de equipa define uma extensão de menu emergente para poder consolidar todas as acções relacionadas com a equipa num único lugar. O menu de equipa inclui muitas ranhuras de subgrupos para que os plug-ins fornecedores de equipas possam contribuir com acções e ter algum controlo na ordem de artigos no menu. A marcação seguinte é oriunda do manifesto de plug-in da UI de equipa:
<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>
É adicionado um menu de equipa ao menu emergente de todas as vistas que mostrem recursos (ou objectos que se adaptem a recursos). O plug-in pode utilizar o ID deste menu e os grupos de separadores para adicionar artigos de menu próprios. Nada o impede de definir menus emergentes, conjuntos de acções, acções de vista ou editor próprios. Todavia, se adicionar as suas acções ao menu da equipa predeterminado será mais fácil para o utilizador final encontrar as suas acções.
Vejamos uma acção CVS que demonstra algumas questões interessantes:
<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> ...
Repare que a acção é um contributo através do ponto de extensão de área de trabalho org.eclipse.ui.popupMenus . Seguem-se pormenores da marcação específicas de equipa:
A implementação de uma acção depende grandemente do fornecedor específico.