팀 조치 추가

팀 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 확장점을 사용하여 이 조치를 제공해야 합니다. 다음은 마크업에서 이루어지는 몇 가지 팀별 작업입니다.

조치의 구현은 특정 제공자에 따라 상당히 달라집니다.