如何在选择对话框中从用户那里获取特定视图?

How to get a particular view from user is in selection dialog?

我想在 FileDialog 时获取特定视图及其数据。 目前我正在使用代码:

IWorkbenchPage workbench = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

如果我使用上面的代码,我就会遇到 NPE,因为我目前在 FileDialog 并单击了 'Save' 按钮。

活动的window是模态对话框,不支持视图

您可能需要

IWorkbench.getWorkbenchWindows()

并浏览 windows 的列表,以便能够找到特定视图。

但是,这听起来像是 hack,因为如果 FileDialog 需要特定视图中的某些内容,为什么不在您自己的 FileDialog 实现(从 FileDialog 扩展)的构造函数中提交信息?在这种情况下,您不必搜索特定视图,您将直接拥有该实例。