像模式窗口一样打开Eclipse插件视图



我开发了一个eclipse RCP插件,该插件旨在作为eclipse应用程序运行,并且可以作为独立的eclipse产品提取。现在,我想通过将其添加为插件来重用它,这样就可以从eclipse中访问我。

我可以将其安装到我的eclipse工作区中,并可以通过窗口>显示视图查看视图。但是,该视图将打开到编辑器下方的区域(与Console视图一起),而不是作为独立窗口打开。

请给我指一种方法,通过这种方法,视图会在一个单独的窗口中打开,就像"搜索"窗口一样。

该视图扩展了"ViewPart"并使用复合。下面Plugin.xml中的相关位:

<extension id="application" point="org.eclipse.core.runtime.applications">
      <application>
         <run class="xxx.Application"></run>
      </application>
</extension>
<extension point="org.eclipse.ui.perspectives">
      <perspective name="xxxReview.perspective" class="extension.Perspective" id="xxxReview.perspective">
      </perspective>
</extension>
<extension point="org.eclipse.ui.views">
      <view class="view.xxxView" id="xxxView" name="xxxView" restorable="true">
      </view>
</extension>

如果定义了自己的透视图,则可以始终覆盖

public void createInitialLayout(IPageLayout layout) {
    layout.addStandaloneView(xxxView, false, IPageLayout.TOP, 0.04f, IPageLayout.ID_EDITOR_AREA);
    ...
}

如果您需要在一些本地Eclipse透视图中提供该视图,请尝试使用独立视图的透视扩展

<extension point="org.eclipse.ui.views"> 
  <view class="view.xxxView" id="xxxView" name="xxxView" restorable="true" />
</extension>
<extension point="org.eclipse.ui.perspectiveExtensions">
    <perspectiveExtension targetID="*">
        <view id="xxxView" visible="false" standalone="true"
            relative="org.eclipse.ui.views.ResourceNavigator" relationship="bottom" /> 
    </perspectiveExtension>
</extension>

http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Org_eclipse_ui_perspectiveExtensions.html

最后通过扩展SWT对话框使其工作。

public class xxxView extends Dialog {
    /** The file Name Text field. */
    private Text fileNameText;
    /** The constructor. **/
    protected xxxView(Shell parentShell) {
        super(parentShell);
    }
    /** Create Dialog View. **/
    protected Control createDialogArea(Composite parent) {
        //Added View components here.
    }
}

最新更新