在Eclipse RCP 中, 通过plugin.xml编辑器, 能够很方便的实现如菜单,toolbar,popup菜单的添加.
现以右键菜单popup menu的添加来说明下具体的实现方式:
1. 双击打开rcp工程plugin.xml文件, 选择Extensions选项:

2. All Extensions 中点击Add 在弹出的Extension Point Selection 选中界面, 选择org.eclipse.ui.popupMenus, 添加一个popup menu Extension:

EclipseRCP对于popupMenus提供了一个模板Popup Menu,
使用该模板, eclipseRCP会为我们自动生成一个menu作为我们生成的新popup menu项, 该menu含一子menubar, 我们使用其提供的这一模版,
点击Next, 定制popup menu项的Label, 及menu子menubar的Label及其绑定的Action类名, 如图:

Target Object's Class: 指定添加menu的popup menu 所属的对象类型, 如工程,文件夹还是文件.
对应工程的popup menu, 对应为: org.eclipse.core.resources.IProject
对应文件夹的popup menu, 对应为: org.eclipse.core.resources.IFolder
对应文件类型的popup menu, 对应为: org.eclipse.core.resources.IFile
该class在随后的extensions选项后可重新修改.
Submenu Name: 指定 menu 的 Label
Action Label: 指定menubar 的Label
Action Class: 指定绑定menubar的action类名
JavaPackage Name 指定action所属包名
Action Enable 设定Action 的enabled状态对于为选择单项Single还是多项multiple的情形.
点击Finish, EclipseRCP将为我们自动配置生成相关的类.
3. 点击Finish后, 我们在All Extensions栏会发现增加了org.eclipse.ui.popupMenus的extension:

3.1 如图, 对应于popupMenus, 右键单击, 在弹出popupmenu中的new选项中我们可以发现对应有两个选项.分别是objectContribution, 与viewerContribution.
其中, objectContribution 对应生成的popupmenu针对于如工程, 文件夹, 文件类的选项;
viewerContribution则针对于视图的popupmenu
选中Contribution, 我们在右侧可以进行相应的details设定, 如图:

id作为contribution的标准
objectClass 指定应用的object类型
nameFilter: 可以针对显示该菜单项的Object的名称进行过滤选择, 如objectClass针对IFile, nameFilter 填充*.html, 则我们添加的menu仅对于*.html文件的popupmenu中才会出现.
2. 查看contribution子选项action栏的details设定:

此处仅对menubarPath进行解释, 该选项可以指定action所属的父menu, 如果为空, 则在popupmenu中直接显示该Action对应的menubar选项.
上图指定menubarPath为: PopupMenuDemo.menu1/group1
其中: PopupMenuDemo是在Contribution中定义的menu的id, 在该menu中我们指定了一个分组separator名为group1:

3. 运行, 最终效果如图:

至此, 添加一个popup的具体实现简要操作流程已全部完成, 至于其余menu bar, tool bar 其中一些选项的作用, 读者可自己进行相关尝试了解其作用.
浙公网安备 33010602011771号