Java 如何将Eclipse插件中现有视图中的上下文弹出菜单重用到新创建的视图中?
我已经为一个Eclipse插件创建了一个新视图,我想重用一些基本的弹出菜单,如RunAs、Open、Copy、Delete,这些菜单出现在其他视图(如PackageExplorer)中。有可能吗 我知道菜单的贡献,但这是添加一个新的菜单项到现有的列表。如何重用其他视图中的现有菜单? 这是view制作菜单的方式:Java 如何将Eclipse插件中现有视图中的上下文弹出菜单重用到新创建的视图中?,java,eclipse-plugin,swt,jface,Java,Eclipse Plugin,Swt,Jface,我已经为一个Eclipse插件创建了一个新视图,我想重用一些基本的弹出菜单,如RunAs、Open、Copy、Delete,这些菜单出现在其他视图(如PackageExplorer)中。有可能吗 我知道菜单的贡献,但这是添加一个新的菜单项到现有的列表。如何重用其他视图中的现有菜单? 这是view制作菜单的方式: private void hookContextMenu() { MenuManager menuMgr = new MenuManager("#PopupMenu")
private void hookContextMenu() {
MenuManager menuMgr = new MenuManager("#PopupMenu");
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
SuitAExplorer.this.fillContextMenu(manager);
}
});
Menu menu = menuMgr.createContextMenu(viewer.getControl());
viewer.getControl().setMenu(menu);
getSite().registerContextMenu(menuMgr, viewer);
}
private void fillContextMenu(IMenuManager manager) {
manager.add(action1);
manager.add(action2);
manager.add(new Separator());
drillDownAdapter.addNavigationActions(manager);
// Other plug-ins can contribute there actions here
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}
有些菜单项(如复制和粘贴)必须自己编写,因为Eclipse不知道如何复制视图对象 “运行方式”菜单项应出现在菜单中的
IWorkbenchActionConstants.MB\u ADDITIONS
位置,但前提是视图项启用正确。对于“运行方式”,启用表达式为:
它正在测试是否安装了
org.eclipse.debug.core
插件,并且当前选择是否可以适应IResource
或可启动对象。您如何创建菜单?我已经添加了用于查看菜单的代码块感谢greg-449,我已经添加了在plugin.xml中查看标记的功能,但是“运行方式”仍然没有出现。我可能做错了:不,这不是您添加的内容,我展示的是启用“按使用方式运行”——因此您的视图必须提供适应IResource或launchable的对象。如果它们不运行,将不会显示。谢谢greg-449-我修改了我的视图和向导来创建IResources,现在可以使用了。