2012-04-17 65 views
0

所以,我正在开发一个基于源代码分析的自定义视图的Eclipse插件。大多数时候,它的效果很好。但是,如果我以打开的视图退出Eclipse,那么当我重新打开它时,它会遇到错误,其中IWorkbenchWindow.getActivePage()IWorkbenchPage.getEditorReferences()返回null。这种不一致似乎是因为 视图在Eclipse退出时是焦点,并且是Eclipse在启动时尝试重建的第一件事。 重点是非窗口shell(我不完全理解这一点,但这就是this所说的)。是否有解决方法,以便我可以确保Eclipse在我的自定义插件之前完全加载它的IWorkbenchWindow,而不管Eclipse关闭时的焦点是什么?以编程方式影响装载顺序的视角

感谢

+0

你用在构造函数或'createPartControls()' – 2012-04-17 08:07:41

+0

它获得通过createPartControls() – Tas 2012-04-18 00:17:35

+0

间接调用上面的线这是奇怪的工作台已经完成设置 - 但活动页面可能尚未设置。你可以考虑使用这个站点:'getSite()。getPage()...' – 2012-04-18 07:04:04

回答

2

您可以考虑使用网站而不是:getSite().getPage() ...

1

东铭马德森在从视图中,我可以从getSite().getPage()访问活动页面的意见,解决问题指出。