팀 UI 플러그인은 모든 팀 관련 조치를 한 곳으로 통합하기 위해 팝업 메뉴 확장을 정의합니다. 팀 메뉴에는 많은 서브그룹 슬롯이 있으므로 팀 제공자 플러그인은 조치를 제공하고 메뉴의 항목 순서를 일정 정도 제어할 수 있습니다. 다음은 팀 UI 플러그인 Manifest의 마크업입니다.
<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>
팀 메뉴는 자원(또는 자원에 적합한 오브젝트)을 표시하는 모든 보기의 팝업 메뉴에 추가됩니다. 플러그인은 이 메뉴의 ID 및 분리자 그룹을 사용하여 자체 메뉴 항목을 추가할 수 있습니다. 자체 팝업 메뉴, 조치 세트 또는 보기와 편집기 조치를 정의할 수 있습니다. 그러나 미리 정의된 팀 메뉴에 조치를 추가하면 일반 사용자가 조치를 찾기가 더 쉽습니다.
일단 몇 가지 흥미있는 점을 보여 주는 다음의 CVS 조치를 살펴봅니다.
<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>
...
org.eclipse.ui.popupMenus Workbench 확장점을 사용하여 이 조치를 제공해야 합니다. 다음은 마크업에서 이루어지는 몇 가지 팀별 작업입니다.
조치의 구현은 특정 제공자에 따라 상당히 달라집니다.