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

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


我试图定义myplugin.e4xmi以及menu片段以及命令和处理程序片段,但是menuContribution的全部内容,但都会导致以下日志输出:

!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?我已经实现了一些视图,发现基于注入的编程相当舒适。

最佳答案

这可能与bug 376486有关:

[模型] Eclipse 4 IDE无法通过片段或处理器扩展


  当前,无法通过片段或处理器扩展Eclipse 4.2 IDE,这使得Eclipse插件项目难以使用新的编程模型。
  
  这是由于这样的事实,即片段和处理器的处理是通过兼容层来完成的,例如兼容层。 plugin.xml到模型的转换没有完成,因此这些元素无法扩展。




This thread说明了相同的问题:


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


但是也:


  所以露娜已经释放了是否可以通过模型为工具栏添加片段?
  我使用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

10-02 23:22