我正在开发一个使用自定义透视的eclipse RCP应用程序。这个自定义透视图列出了一些基本元素,比如Package Explorer,Text Editor,以及我自己的两个自定义视图部分(彼此相似,并排放在窗口的下半部分。)< / p>
当我激活透视图时,会发生以下错误:
!ENTRY org.eclipse.ui 4 4 2017-05-08 20:15:29.777
!MESSAGE Referenced part does not exist yet: {myView2's view id}.
ContributedPartRenderer$2 {}
这是我的透视课
public class myPerspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
IFolderLayout bottom = layout.createFolder("bottom", IPageLayout.BOTTOM, (float) 0.5, myView2.VIEW_ID);
IFolderLayout top = layout.createFolder("top", IPageLayout.TOP, (float) 0.67, IPageLayout.ID_EDITOR_AREA);
bottom.addView(myView1.VIEW_ID);
bottom.addView(myView2.VIEW_ID);
top.addView(IPageLayout.ID_EDITOR_AREA);
}
}
这是我的plugin.xml(仅与透视相关的部分)。
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="perspective.myPerspective"
id="perspective.myPerspective"
name="My Perspective"/>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="perspective.myPerspective">
<view
id="myView1.VIEW_ID"
relationship="left"
relative="bottom"/>
<view
id="myView2.VIEW_ID"
relationship="right"
relative="bottom"/>
</perspectiveExtension>
当我创建IFolderLayout'bottom'时,我可以将myView1.VIEW_ID作为参数,错误会说它尚未创建,而不是myView2尚未创建。无论哪个视图类的ID作为参数放入,在透视图打开时出错,但另一个工作正常。
如何解决这个问题,以便两个视图都正常运行,并在自定义透视图中创建和显示?
答案 0 :(得分:0)
您的VIEW_ID
课程中myView1
的值似乎不正确。在plugin.xml中给出视图声明,它应该是:
public static final String VIEW_ID = "myView1.VIEW_ID";