我正在编写一个eclipse插件,我想尽可能坚持使用e4编程模型。
我想做的第一件事是菜单和工具栏的贡献,但我已经卡住了。我在plugin.xml
中定义了一个扩展程序:
<extension id="sampleid1" point="org.eclipse.e4.workbench.model">
<fragment apply="always" uri="xmi/myplugin.e4xmi" />
</extension>
Inisde myplugin.e4xmi
我尝试定义menu
以及menuContribution
片段以及命令和处理程序片段,但所有内容都会导致以下日志输出:< / p>
!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?我已经实现了一些观点,发现基于注入的编程非常舒服。
答案 0 :(得分:3)
这可能与bug 376486:
有关目前Eclipse 4.2 IDE无法通过片段或处理器进行扩展,这使得Eclipse插件项目难以使用新的编程模型。
这是因为片段和处理器的处理完成了兼容性层,例如,
plugin.xml
到模型的转换没有完成,因此这些元素无法扩展。
This thread说明了同样的问题:
与兼容层结合使用尚不支持碎片 原因是初始化的顺序 Luna中的兼容性扩展点(例如&#34; views&#34;)将支持添加纯e4视图,但。
但是:
所以Luna已经发布了。是否可以通过模型为片段提供片段?
所描述的相同的消息
我使用Eclipse Luna和E4最后更新,但获得了与主题starter:
!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的应用程序以实现&#34;真正的混合模式&#34; (即在基于E3的应用程序中使用E4编程模型,如IDE)
项目E4Examples/importworkbenchbridge
。