EclipseRCP开发(三)-如何去除顽固原生菜单项

去除new-project及other菜单

获取所有菜单项,筛选出new菜单,将new菜单清空,再重新从已注册的向导中添加所需菜单。记录之。

java 复制代码
if ("new".equals(ii.getId())) {
	MenuManager newMenu = (MenuManager) ii;
	// 清除现有的所有子项
	newMenu.removeAll();
	// 手动填充 New Wizard 项目
	fillNewWizardMenu(newMenu, window);
}


private void fillNewWizardMenu(MenuManager newMenu, IWorkbenchWindow window) {
		// 获取已注册的所有 New Wizard
		IWizardRegistry wizardRegistry = PlatformUI.getWorkbench().getNewWizardRegistry();
		IWizardCategory[] categories = wizardRegistry.getRootCategory().getCategories();
		// 遍历每个分类中的向导New4diacProjectWizard
		for (IWizardCategory category : categories) {
			//筛选自定义的导航类
			if(!category.getId().contains("xxxxx")) {
				continue;
			}
			for (IWizardDescriptor wizard : wizards) {
				if (wizard.getId().contains("xxxx")) {
					Action action = new Action(wizard.getLabel()) {
						@Override
						public void run() {
							try {
								// 打开向导
								IWizard newWizard = wizard.createWizard();
								WizardDialog wizardDialog = new WizardDialog(window.getShell(), newWizard);
								wizardDialog.open();
							} catch (Exception e) {
								e.printStackTrace();
							}
						}
					};
					// 设置向导的图标
					ImageDescriptor imageDescriptor = wizard.getImageDescriptor();
					if (imageDescriptor != null) {
						action.setImageDescriptor(imageDescriptor);
					}
					// 添加向导项到 New 菜单
					newMenu.add(action);
				}

			}
		}
	}
相关推荐
zww89491118 小时前
相册印刷项目实战指南:从设计到成品的完整技术流程
java·小程序·eclipse
zww89491111 天前
家政多商户系统开发:从架构设计到落地实践
java·eclipse
谢亮_vipxieliang4 天前
ValidX分组验证详解:不同场景使用不同验证规则
java·spring boot·后端·spring cloud·eclipse·hibernate
典典分享指南5 天前
用大模型把写作 SOP 变成可复用 Prompt
docker·jupyter·eclipse·phpstorm·myeclipse
砚底藏山河6 天前
【量化纯GET实战 #04】批量快照:一次 HTTP GET 取多只股票
java·python·金融·eclipse
辰辉创聚7 天前
重组蛋白表达不出来怎么办?蛋白表达失败、低表达及异常原因解析
python·oracle·eclipse·重组蛋白·蛋白·western blot
辰辉创聚8 天前
重组细胞因子全解析:定义、分类与应用指南
人工智能·eclipse·emacs·白细胞介素·重组蛋白·重组细胞因子
伯远医学9 天前
RIP-seq 高分文献案例分享
java·前端·javascript·人工智能·算法·eclipse·html
BioRunYiXue10 天前
RACE技术全攻略:从全长克隆到靶基因验证
java·javascript·网络·人工智能·科技·算法·eclipse
一杯原谅绿茶10 天前
VSCode的Eclipse插件-编译Eclipse项目
ide·vscode·eclipse