팀 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 확장점을 사용하여 이 조치를 제공해야 합니다. 다음은 마크업에서 이루어지는 몇 가지 팀별 작업입니다.
조치의 구현은 특정 제공자에 따라 상당히 달라집니다.