Tilføj teamfunktioner

Plugin'en til team-UI definerer en pop op-menu-udvidelse, så det er muligt at konsolidere alle teamrelaterede funktioner på ét sted. Teammenuen indeholder mange undergruppeskuffer, så teamudbyderplugins kan tilføre funktioner og få en vis kontrol over punkterne på menuen. Følgende kode stammer fra team-UI'ets pluginmanifest:

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

En teammenu tilføjes til pop op-menuen i alle oversigter, der viser ressourcer (eller objekter, der tilpasses til ressourcer). Din plugin kan bruge id'en for denne menu samt separatorgrupperne til at tilføje dine egne menupunkter. Der intet, som forhindrer dig i at definere dine egne pop op-menuer, funktionssæt eller oversigts- og editorfunktioner. Men hvis du tilføjer dine funktioner til den foruddefinerede teammenu, bliver det nemmere for slutbrugeren at finde dine funktioner.

Lad os kigge på en CVS-funktion, der demonstrerer nogle interessante punkter:

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

Bemærk, at funktionen tilføres vha. arbejdsbænksudvidelsespunktet org.eclipse.ui.popupMenus. Her er nogle teamspecifikke elementer i koden:

Implementering af en funktion afhænger i høj grad af den specifikke udbyder.