为现有的eclipse插件添加无头功能

时间:2011-07-26 19:33:30

标签: eclipse eclipse-rcp eclipse-plugin

我有一个现有的Eclipse插件,它作为常规IDE插件运行,从GUI接收命令并在自定义视图中返回输出。

我想添加一种能力能够在无头模式下运行该插件,输入从命令行接收,输出转到某个文件。除了现有的常规执行之外,还有某种方法可以修改现有的插件以支持的执行模式,还是我必须创建一个新的无头插件并只使用第一个的代码? / p>

1 个答案:

答案 0 :(得分:1)

这取决于您打算如何使用此插件以及主要问题:是否存在您的UI依赖关系无法使用的情况,即是否存在没有SWT和RCP捆绑包的捆绑配置?

没有可用的用户界面

在这种情况下,您需要将插件的无头部分提取到新插件中,然后将无头入口点注册到新插件中。插件的UI部分将取决于新插件,并且只需将UI请求委托给无头部分中的相应API。

为了提供无头应用程序,您应该查看org.eclipse.equinox.app.IApplication接口和org.eclipse.equinox.applications扩展点。定义应用程序后,只需调用:

即可启动它

eclipse -application <app-id> <app-param>

更多信息可在Eclipse Help中找到。

可用的用户界面

更简单的情况。只需要指定无头入口点,一切都将像以前一样工作。

然而,我的经验表明,迟早会出现插件需要拆分的情况,并且根据其复杂程度,它可能会比以前拆分时造成更多麻烦。