在 RCP 应用程序初始化后访问 EPartService

Access the EPartService after an RCP application has initialized

我的应用程序初始化后,我试图在零件堆栈中自动创建一个零件。为此,我需要 EPartService,但我想不出任何方法来正确获取此服务。

我试过使用 LifeCycle 管理来获取当前的 IEclipseContext。但是,每当我尝试使用上下文访问服务时,都找不到它。

知道我该怎么做吗?

您应该能够在生命周期 class 中的任何已定义方法中注入 EPartService。但是,在应用程序启动完成之前,您将无法显示零件。所以使用 App Startup Complete 事件,通过在生命周期中添加这样的方法 class:

@Optional
@Inject
public void appStartupComplete(@UIEventTopic(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE)  Event event,
                               EPartService partService)
{
  ....
}