チーム・アクションの追加

チーム UI プラグインは、すべてのチーム関連のアクションを 1 つの場所に統合するため、ポップアップ・メニュー拡張を定義します。  チーム・メニューには、多くのサブグループ・スロットが含まれるため、チーム・プロバイダー・プラグインはアクションを組み込み、 メニュー内で項目の順番をある程度制御できます。  次のマークアップは、チーム UI プラグイン・マニフェストからのものです。

<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 ワークベンチ拡張ポイントを使用して、アクションが組み込まれることに注意してください。  マークアップで起こるチーム特有の事項をいくつか挙げます。

アクションの実装は、特定のプロバイダーに大きく依存します。