似乎E4不适用于高效环境,但兼容层也存在许多错误。
我可以在一个应用程序中混合使用,为每个用例选择一个错误较少的应用程序吗?
我认为这是不可能的,因为 plugin.xml 必须如下所示:
<extension id="product" point="org.eclipse.core.runtime.products">
<product name="Application"
<!-- this application ID is used for E3 applications -->
application="org.acme.application"
<!-- this application ID is used for E4 applications -->
application="org.eclipse.e4.ui.workbench.swt.E4Application">
<property name="appName" value="Application" />
</product>
</extension>
所以我可以启动E3应用程序或E4应用程序。如果我开始使用 fragment.e4xmi 而没有完整的E4应用程序,我会得到最奇怪的异常,例如:
添加的对象&#39; org.eclipse.e4.ui.model.application.ui.menu.impl.ToolBarSeparatorImpl@192d74fb(elementId:independent.toolbarseparator.0,tags:null,contributorURI:platform:/ plugin /org.acme.module)(widget:null,renderer:null,toBeRendered:true,onTop:false,visible:true,containerData:null,accessibilityPhrase:null)&#39;不能分配给&#39; org.eclipse.e4.ui.model.application.ui.basic.MTrimElement&#39;
即使有可能,我也不知道如何混合和匹配命令,处理程序和菜单贡献。 (这是实际的用例:由于IEvaluationService
不再起作用,我想我会用一个全新的E4处理程序替换它。)
那么可以混合使用E3和E4吗?如果是这样,怎么样?