Adicionar acções de equipa

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.