我正在编写一个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
。