【发布时间】:2022-11-17 19:49:17
【问题描述】:
我正在开发 Eclipse RCP 应用程序。我知道方法org.eclipse.ui.internal.Workbench.close()可以关闭工作台,如果工作台有一个打开的编辑器包含未保存的内容,用户将有机会保存它。
但是我是否有能力直接关闭工作台而不保存任何未保存的内容并且没有任何提示?
【问题讨论】:
我正在开发 Eclipse RCP 应用程序。我知道方法org.eclipse.ui.internal.Workbench.close()可以关闭工作台,如果工作台有一个打开的编辑器包含未保存的内容,用户将有机会保存它。
但是我是否有能力直接关闭工作台而不保存任何未保存的内容并且没有任何提示?
【问题讨论】:
传递给 WorkbenchAdvisor 和 WorkbenchWindowAdvisor 的 IWorkbenchConfigurer 有一个 emergencyClose 应该关闭。
但请注意该方法的 Javadoc 是怎么说的:
由于紧急情况强制关闭工作台。这个方法应该 只有当工作台处于可怕的直道并且不能 继续,甚至不能冒正常工作台关闭的风险(想想“出于 内存”或“无法创建外壳”)。当调用此方法时,一个 执行简化的工作台关闭序列(不太重要 步骤可以跳过)。 Workbench Advisor 仍然被调用;然而, 它不得尝试与用户通信。
还要注意
Workbench类是内部的并且不应直接访问 - 只能使用IWorkbench接口。
【讨论】: