小组用户界面插件定义了一个弹出菜单扩展以便将与小组相关的所有操作合并到一处。小组菜单包括许多子组槽,所以小组提供程序插件可以添加操作并对菜单中各项的顺序进行一定程度的控制。以下标记来自于小组用户界面的插件清单:
<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>
将小组菜单添加至显示资源的所有视图(或适合于资源的对象)的弹出菜单。插件可以使用此菜单的标识和分隔符组,以便添加您自己的菜单项。没有任何事情会阻止您定义自己的弹出菜单、操作集或者视图和编辑器操作。但是,将操作添加至预定义的小组菜单可以使最终用户更容易找到您的操作。
让我们查看演示一些有吸引内容的 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 工作台扩展点添加的。下面是标记中的一些特定于小组的内容:
操作的实现很大程度上取决于特定提供程序。