【问题标题】:Menu contribution in pure e4 eclipse plugin纯 e4 eclipse 插件中的菜单贡献
【发布时间】:2014-08-25 15:59:43
【问题描述】:

我正在编写一个eclipse插件,我想尽可能地坚持e4编程模型。 我想做的第一件事是菜单和工具栏的贡献,但我已经卡住了。我在plugin.xml 中定义了一个扩展:

<extension id="sampleid1" point="org.eclipse.e4.workbench.model">
    <fragment apply="always" uri="xmi/myplugin.e4xmi" />
</extension>

Inisde myplugin.e4xmi 我尝试定义 menumenuContribution 片段以及命令和处理程序片段,但一切都会导致以下日志输出:

!ENTRY org.eclipse.e4.ui.workbench 1 0 2014-08-25 09:22:41.476
!MESSAGE Nothing to merge for "platform:/plugin/net.mysample/xmi/myplugin.e4xmi"

我错过了什么吗?还是不能为eclipse IDE编写纯e4插件?如果是这样,我应该使用 e4 的哪些部分,我应该在哪里坚持使用 3.x API?我已经实现了一些视图,发现基于注入的编程很舒服。

【问题讨论】:

    标签: java eclipse eclipse-plugin e4


    【解决方案1】:

    这可能与bug 376486有关:

    [Model] Eclipse 4 IDE 不能通过片段或处理器扩展

    目前 Eclipse 4.2 IDE 无法通过片段或处理器进行扩展,这使得 Eclipse 插件项目难以使用新的编程模型。

    这是因为片段和处理器的处理是在兼容层之前完成的,例如plugin.xml 到模型的转换尚未完成,因此这些元素无法扩展。


    This thread 说明了同样的问题:

    尚不支持将片段与兼容层结合使用。
    原因在于初始化的顺序。
    Luna 中的兼容性扩展点(例如“视图”)将支持添加纯 e4 视图

    还有:

    所以 Luna 已经释放了。是否可以通过模型贡献带有片段的工具栏?
    我使用 Eclipse Luna 和 E4 上次更新,但得到了与主题启动器描述的相同的消息:

    !ENTRY org.eclipse.e4.ui.workbench 1 0 2014-07-20 18:43:30.248
    !MESSAGE Nothing to merge for "platform:/plugin/.../fragment.e4xmi"
    

    a thread 介绍了一种将 e4 元素导入任何基于 E3 的应用程序以达到“真正的混合模式”的方法(即在基于 E3 的应用程序(如 IDE)中使用 E4 编程模型)
    项目E4Examples/importworkbenchbridge

    【讨论】:

    • 我在link 中尝试了解决方法,但它不能正确处理片段,并且使用了很多(不安全的)强制转换和未发布的 API,所以我想我必须等待 Mars一个合适的“纯 e4”插件。
    猜你喜欢
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    相关资源
    最近更新 更多