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.