以编程方式显示Eclipse插件中的视图

时间:2008-10-05 11:00:11

标签: eclipse eclipse-plugin eclipse-rcp rcp eclipse-pde

我有一个具有视图的Eclipse RCP应用程序的插件。在RCP应用程序中发生事件后,插件被实例化,调用其方法来填充插件的模型,但是我无法找到如何在不进入“Show View ...”菜单的情况下显示视图

我认为工作台单例中会有一些东西可以解决这个问题,但我还没有发现任何地方。

4 个答案:

答案 0 :(得分:46)

你可能正在寻找这个:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");

答案 1 :(得分:18)

如果从命令的处理程序调用

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);
如我所知,

会更好。

答案 2 :(得分:4)

我发现在将视图打开并推到后台之后需要将视图置于前面。 activate方法可以解决问题。

PlatformUI.getWorkbench()
    .getActiveWorkbenchWindow()
    .getActivePage()
    .activate(workbenchPartToActivate);

注意:workbenchPartToActivate是IWorkbenchPart的实例。

答案 3 :(得分:0)

在e4中,EPartService负责打开零件。这也可用于打开e3 ViewParts。通过IEclipseContext实例化以下类,调用openPart-Method,您应该看到Eclipse内部浏览器视图。

public class Opener {
    @Inject
    EPartService partService;

    public void openPart() {
        MPart part = partService.createPart("org.eclipse.ui.browser.view");
        part.setLabel("Browser");

        partService.showPart(part, PartState.ACTIVATE);
    }
}

Here你可以找到一个如何与你的Application.e4xmi一起工作的例子。