在自定义 Eclipse 透视图中显示视图

Display views in custom eclipse perspective

我有一个观点,我希望能够在这个观点上展示一些观点。如果我去 Window -> 显示视图 -> 其他然后 select 我的视图它工作正常。但是我想在打开透视图时默认显示一个视图并将其放置在项目浏览器通常所在的位置。

但我所做的一切似乎都没有改变任何事情,我也找不到任何原因。 我一直在使用这段代码来尝试更改此视图的位置,但默认情况下它甚至不会打开视图。有人可以为我指明正确的方向,说明如何默认打开视图并将其放置在项目资源管理器通常所在的位置吗?

public class PerspectiveFactory1 implements IPerspectiveFactory {
    public void createInitialLayout(IPageLayout layout) {
        layout.addView("VIEW_ID_HERE", IPageLayout.LEFT,
            IPageLayout.RATIO_MAX, IPageLayout.ID_PROJECT_EXPLORER);
   }
}

提前致谢

这是我的 plugin.xml

<plugin>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            class="packageName.PerspectiveFactory1"
            fixed="true"
            id="PerspectiveID"
            name="Software Application">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="PerspectiveID">
         <view
               class="packageName.ShowApplications"
               icon="icons/sample.gif"
               id="packageName.ShowApplications"
                   minimized="false"
                   moveable="false"
                   name="listApps"
                   ratio="0.5"
                   relationship="left"
                   visible="true">
             </view>

由于您在那个透视图中没有项目资源管理器,因此您不能在引用 id 参数中使用它的 id 来添加视图。而是使用始终允许的编辑器区域 ID:

layout.addView("view id", IPageLayout.LEFT,
    0.3f, layout.getEditorArea());

如果以前打开过透视图,您可能还必须重置透视图才能选择新布局(Window > 透视图 > 重置透视图)。

必须使用 org.eclipse.ui.views 扩展点定义视图。

您还可以使用 org.eclipse.ui.perspectiveExtensions 来定义视图在透视图中的位置,而不是透视图工厂 - 但这仍然需要使用 org.eclipse.ui.views.[=14 来定义视图=]