【问题标题】:Add headless capability to existing eclipse plugin向现有的 Eclipse 插件添加无头功能
【发布时间】:2011-07-26 19:33:30
【问题描述】:

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

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

【问题讨论】:

    标签: eclipse eclipse-rcp eclipse-plugin


    【解决方案1】:

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

    没有可用的用户界面

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

    为了提供无头应用,你应该看看org.eclipse.equinox.app.IApplication接口和org.eclipse.equinox.applications扩展点。定义应用程序后,只需调用以下命令即可启动它:

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

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

    用户界面可用

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

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

    【讨论】:

    • 您能解释一下 UI 依赖项的可用性是什么意思吗?
    • 这意味着没有 SWT 和 RCP 包的包配置不同。例如,Eclipse 曾经使用所谓的 basebuilder,它是 Eclipse 的精简版,它排除了 UI 包,仅用于构建插件。我认为这样的配置缺少 UI 依赖或 UI 层本身。
    • 添加一个 IApplication 并通过选择不同的 eclipse 应用程序运行它似乎可行,但现在我很谨慎,因为你以前的经验:) 无论如何谢谢你的回答。
    • stackoverflow.com/questions/39407800/…这个问题能看一下吗?
    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多