我正在尝试使用eclipse 4 API。我尝试使用插件提供新视图。到目前为止我所拥有的是:
org.eclipse.e4.workbench.model
的扩展程序<plugin>
<extension id="id1" point="org.eclipse.e4.workbench.model">
<fragment uri="fragment.e4xmi"></fragment>
</extension>
</plugin>
fragment.e4xmi
<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() {
}
}
出于某种原因,这个观点似乎没有贡献。我错过了什么吗?我需要另外一件事才能完成拼图吗?我该如何调试问题?
修改
我想问题是,我的字符串模型片段我没有元素ID 或 Featurename 。我想我必须插入 PartStack 的ID和 children 作为Featurename。问题:编辑器没有在向导中显示任何元素来选择元素ID ...
答案 0 :(得分:1)
Eclipse 4.2 IDE可能无法实现这一点。
如您所述,必须设置元素ID和功能。通过使用模型编辑器(Alt+Shift+F9
),您可以看到IDE使用的应用程序ID为 org.eclipse.e4.legacy.ide.application ,因此原则上您可以按照{例如,可以向IDE提供命令,处理程序和菜单条目,然后命令可以打开您的视图。
如果您为自己的E4应用程序做出贡献,这可以正常工作,但是当您尝试为Eclipse 4.2 IDE做贡献时,由于Lars Vogel tutorial - “Eclipse 4 IDE无法通过片段或处理器扩展”,它会失败。
据我所知,问题是Eclipse 3兼容层以一种你不能自己添加E4片段的方式创建E4模型。