Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点

本文介绍如何通过扩展点和代码方式为Eclipse定制菜单,包括添加菜单项、控制菜单项可见性的方法,并提供了一些示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过扩展点方式为Eclispe 添加菜单:

主要包括下列3个扩展点:

org.eclipse.ui.commands (可以添加所有的菜单)

可以参考:http://www.vogella.de/articles/EclipseCommands/article.html#command 来学习commands。

org.eclipse.ui.actionSets  (在新的Eclipse 版本中已经不推荐使用)

org.eclipse.ui.popupMenus

 

文章:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-menuext/index.html 概述了这三种方式的应用。

 

当然,除了扩展点的方式,用代码也可以创建菜单。

写法大致如下:

private void hookContextMenu() {
    IMenuManager fMenuMgr = new MenuManager(“#PopupMenu”);
    fMenuMgr.setRemoveAllWhenShown(true);
    // 添加 Actions
    fMenuMgr.add(action); 
    Menu fMenu = fMenuMgr.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(fMenu);
    getSite().registerContextMenu(fMenuMgr, treeViewer);
}

 

总结:一般来讲,扩展点方法用来扩展已经存在的视图。而代码方式则用来新建视图时使用。

 

Eclispe 中一些和菜单有关的常量:

http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/IWorkbenchActionConstants.html

http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/ide/IIDEActionConstants.html

 

Command Core Expressions : http://wiki.eclipse.org/Command_Core_Expressions (可以通过这个来控制菜单项的可见性)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值