能否无提示直接关闭存在未保存内容的Eclipse RCP工作台?
直接关闭Eclipse RCP工作台(无保存提示、丢弃未保存内容)
要实现无提示直接关闭工作台并丢弃所有未保存内容,可按以下步骤操作:
先强制关闭所有打开的编辑器,跳过保存检查:
获取工作台页面的所有编辑器引用,遍历调用close(false)方法(参数false代表不触发保存提示,直接关闭编辑器):IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IEditorReference[] editors = page.getEditorReferences(); for (IEditorReference editorRef : editors) { page.closeEditor(editorRef.getEditor(false), false); }再调用工作台关闭方法:
此时所有编辑器已被强制关闭,调用Workbench.close()就不会弹出保存提示了:((Workbench) PlatformUI.getWorkbench()).close();
注意:org.eclipse.ui.internal.Workbench属于内部类,使用时需确保插件依赖org.eclipse.ui,并在MANIFEST.MF中配置允许访问内部API(比如添加org.eclipse.ui依赖,设置Eclipse-BundleShape: dir或通过AccessRule开放内部包访问权限)。
内容的提问来源于stack exchange,提问作者Bourbon_7
相关产品推荐
相关产品推荐

