Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Eclipse4.2中提供新视图?_Java_Eclipse_Eclipse Plugin - Fatal编程技术网

Java 如何在Eclipse4.2中提供新视图?

Java 如何在Eclipse4.2中提供新视图?,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在试验Eclipse4API。我尝试用一个插件提供一个新的视图。到目前为止,我得到的是: org.eclipse.e4.workbench.model的扩展 出于某种原因,这一观点似乎没有得到支持。我错过什么了吗?我还需要别的东西来完成这个难题吗?如何调试该问题 编辑: 我想问题是,我的字符串模型片段既没有元素Id,也没有Featurename。我想我必须插入零件堆栈的ID和子项作为Featurename。问题:编辑器没有在向导中显示任何元素来选择元素Id…这在Eclipse4.2IDE中可

我正在试验Eclipse4API。我尝试用一个插件提供一个新的视图。到目前为止,我得到的是:

org.eclipse.e4.workbench.model的扩展

出于某种原因,这一观点似乎没有得到支持。我错过什么了吗?我还需要别的东西来完成这个难题吗?如何调试该问题

编辑:


我想问题是,我的字符串模型片段既没有元素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() {
    }
}