如何通过插件开发检测eclipse中的菜单监听器

时间:2011-04-27 06:44:27

标签: eclipse eclipse-plugin

我在eclipse中开发了一个名为MyMenu的菜单作为插件开发。 我想在点击MyMenu时立即检测到一个监听器,但是在使用/实现MenuListener时我没有取得任何成功。 实现相同的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您正在谈论在工作台窗口中添加主菜单项(类似于文件或编辑),则无法在不破坏API的情况下通过SWT执行此操作。有3种选择:

1)如果您正在编写RCP应用程序,您可以创建ActionBarAdvisor,它可以在填写主菜单栏时获得第一次破解。您使用MenuManagersIContributionItems填写MenuManagersActionContributionItemsCommandContributionItems都是API。

2)使用plugin.xml并为org.eclipse.ui.menus扩展点做出贡献。您可以静态地为其提供命令。您还可以使用动态元素来提供CompoundContributionItem。每次菜单即将显示时都会调用CompoundContributionItem,以便可以添加动态项(如“文件”菜单中最近打开的4个文件部分)。您可以在 org.eclipse.example.commands 插件中找到一些此示例,并在https://github.com/paulweb515/commandsEclipseCon2011

处进行匹配演示

3)使用org.eclipse.ui.actionSets扩展点。这不再处于开发阶段,在Eclipse 4.x中已弃用。