團隊 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 工作台延伸點提供動作。這些是發生在標記中的某些特定團隊的事情:
動作的實作主要依賴您特定的提供者。