Eclipse加载时如何激活插件?

时间:2011-11-01 03:08:21

标签: java eclipse eclipse-plugin

Eclipse启动后有没有办法激活我的插件?我已经扩展了一个JavaCompletionProposalComputer,以计算一个列表,当按下CTRL + SPACE时,将显示一个完成。为了我的工作目的,我需要倾听工作区的任何变化;所以,我实现了一个IResourceChangeListener类。但是,如果用户决定不使用内容辅助,则监听器永远不会启动。

要解决这个问题,我准备删除Bundle-ActivationPolicy中的lazy参数,但我在某处读到这是一个坏主意。另一种方法是使用org.eclipse.ui.startup包中的IStartup;但是,用户可能会禁用系统首选项中的earlyStartup功能。

还有其他方法可以解决这个问题吗?在期待中感谢你。

3 个答案:

答案 0 :(得分:2)

  

要解决这个问题,我准备删除Bundle-ActivationPolicy中的lazy参数,但我在某处读到这是一个坏主意。

删除Bundle-ActivationPolicy: lazy表示您的插件根本不会自动激活。

  

另一种方法是使用org.eclipse.ui.startup包中的IStartup;但是,用户可能会禁用系统首选项中的earlyStartup功能。

这是唯一正确的方法。如果用户禁用早期启动,那就是他的特权。因此,在这种情况下,您仍应提供一些激活插件的方法。

答案 1 :(得分:2)

我只想指出,在Eclipse启动时强制插件始终启动是一种常见的不良做法。这将使您的插件变得活跃,即使您想使用Eclipse完全不相关的东西。

我记得Aptanas认为他们的Ruby插件非常重要,他们必须在整个地方集成自己,并在Eclipse启动时自动连接到一堆网页。这太糟糕了,我不得不删除Eclipse安装来摆脱它......

无论如何,随着说;

查看this questions,它似乎与您的问题相同

答案 2 :(得分:1)

这是工作区保存参与者的用途。请参阅http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/guide/resAdv_saving.htm?cp=2_0_11_3上的“处理激活之间的资源增量”部分。