我用的是eclipse 3.6。我创建了一个示例插件应用程序。它既不是eclipse rcp,也不是工作台。现在,当我运行eclipse时,我希望这个插件也被加载。但是我不想使用IStartUp。因为我发现在加载工作台之后将调用IStartup。我想刷新一下菜单。那么有什么方法可以在eclipse加载时激活我的插件呢?我试过使用束激活策略。但这也没有激活我的Activator类。我刚放了一个System.out。println("Inside start()")。所以这不是所谓的。现在我能让它激活我的活化剂了吗?
编辑:
我确切的要求是,我已经创建了一个工作台application.It不是eclipse应用程序。现在,我想在加载eclipe之前从eclipse中删除以下菜单和菜单项。1.档案菜单2)搜索菜单3)运行菜单4)帮助->搜索,动态帮助,关键协助,提示和技巧,报告错误,备忘单。
这些菜单是eclipse内置的菜单。所以这就是我必须这样做的原因。
所以我已经通过使用启动扩展点来实现了。但是早期的启动是在eclipse started.So之后调用的,我需要在workbench.Then上做一些更新,只有菜单项才能得到removed.So,我认为我需要的启动扩展点不能满足我的要求,因为它不会刷新工作台,我需要在加载它之前激活我的插件和刷新工作台。
谢谢Bhanu
发布于 2011-05-29 13:25:23
您可以使用触点指令为您的插件设置所需的起动水平。
发布于 2011-05-30 12:15:33
您只是一个期望在Eclipse中运行的插件?
那么答案是,你不能做你想做的事。
如果您在工作台完成初始化之前启动,那么可以使用的大多数服务都无法工作:工作台本身、菜单服务、命令服务等等。
对于eclipse中的大多数插件,应该使用plugin.xml向eclipse添加菜单、视图、编辑器等。必要时,框架将实例化它们。
org.eclipse.ui.IStartup是可用的,正如您所提到的,它将在工作台初始化之后,但在显示任何窗口之前调用。它不能轻易使用,也不能被插件贡献到UI中,因为它允许加载来自该插件的所有扩展。
编辑:
如果您是RCP应用程序,则控制主菜单。作为一个RCP应用程序,您可以访问ActionBarAdvisor、WorkbenchAdvisor、WorkbenchWindowAdvisor,它们都有生命周期方法。
如果您是一个eclipse插件,您可以添加到主菜单.您不能轻易地从主菜单中删除。这是故意的。启动级别和org.eclipse.ui.startup是两种机制,不会按照您的意愿。
,您仍然需要回答以下问题:,可能还有一种方法。问题的症结是:“我想刷新一些菜单”。
请编辑您的问题(不要评论),并包括上述三个问题的信息,请。
https://stackoverflow.com/questions/6167907
复制相似问题