Java 如何在Eclipse4.2中提供新视图?
我正在试验Eclipse4API。我尝试用一个插件提供一个新的视图。到目前为止,我得到的是: org.eclipse.e4.workbench.model的扩展 出于某种原因,这一观点似乎没有得到支持。我错过什么了吗?我还需要别的东西来完成这个难题吗?如何调试该问题 编辑:Java 如何在Eclipse4.2中提供新视图?,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在试验Eclipse4API。我尝试用一个插件提供一个新的视图。到目前为止,我得到的是: org.eclipse.e4.workbench.model的扩展 出于某种原因,这一观点似乎没有得到支持。我错过什么了吗?我还需要别的东西来完成这个难题吗?如何调试该问题 编辑: 我想问题是,我的字符串模型片段既没有元素Id,也没有Featurename。我想我必须插入零件堆栈的ID和子项作为Featurename。问题:编辑器没有在向导中显示任何元素来选择元素Id…这在Eclipse4.2IDE中可
我想问题是,我的字符串模型片段既没有元素Id,也没有Featurename。我想我必须插入零件堆栈的ID和子项作为Featurename。问题:编辑器没有在向导中显示任何元素来选择元素Id…这在Eclipse4.2IDE中可能不可能实现 如您所述,必须设置元素ID和特征。通过使用模型编辑器(
Alt+Shift+F9
),您可以看到IDE使用的应用程序ID为org.eclipse.e4.legacy.IDE.application,因此原则上您可以按照以下步骤为IDE提供命令、处理程序和菜单项,然后该命令可以打开您的视图
虽然如果您为自己的E4应用程序贡献了资源,那么这可以正常工作,但当您尝试为Eclipse4.2IDE贡献资源时,它会失败,因为“Eclipse4IDE无法通过片段或处理器进行扩展”
据我所知,问题在于Eclipse3兼容层创建E4模型时,您不能将自己的E4片段添加到E4模型中。但事实上,这意味着如果没有兼容层,Eclipse4IDE是不可扩展的!?您不能用新的API提供视图???您仍然可以通过Eclipse3机制扩展它:在plugin.xml中定义视图或编辑器。但是您不能将Eclipse4模型片段添加到4.2IDE中,因为它使用的是兼容层。
<plugin>
<extension id="id1" point="org.eclipse.e4.workbench.model">
<fragment uri="fragment.e4xmi"></fragment>
</extension>
</plugin>
<fragment:ModelFragments xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:fragment="http://www.eclipse.org/ui/2010/UIModel/fragment" xmi:id="_r_EgIEXDEeGuDquXwerIpw">
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_rC_ngEXFEeGuDquXwerIpw">
<elements xsi:type="basic:Part" xmi:id="_sQq7kEXFEeGuDquXwerIpw" elementId="test.TestView2" contributionURI="platform:/plugin/test/test.TestView2" label="TestView2" tooltip="Test Test Test" closeable="true"/>
</fragments>
</fragment:ModelFragments>
package test;
import javax.inject.Inject;
import org.eclipse.e4.ui.di.Focus;
public class TestView2 {
@Inject
public TestView2() {
}
@Focus
public void onFocus() {
}
}