以自定义蚀视角显示视图

时间:2019-01-31 13:47:51

标签: java eclipse view eclipse-plugin perspective

我有一个自己的观点,我希望能够在这个观点上展示一堆观点。如果我转到窗口->显示视图->其他,然后选择我的视图,则效果很好。但是,我想在打开透视图时默认显示一个视图,并将其放置在项目资源管理器通常所在的位置。

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

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>

1 个答案:

答案 0 :(得分:0)

由于在该角度没有项目浏览器,因此无法在引用id参数中使用其id来添加视图。而是使用始终允许的编辑器区域ID:

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

如果透视图已经打开,则可能还需要重置透视图以获取新的布局(“窗口”>“透视图”>“重置透视图”)。

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

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