Eclipse RCP应用中能否修改“关闭前打开的编辑器数量”?现有方法失效
Eclipse RCP编程修改“关闭前打开的编辑器数量”方案
问题分析
你之前的代码无效主要有两个原因:
- 配置键拼写错误:
org.eclipse.editorss.maxEditorTabs多了一个s,即便用正确的旧键org.eclipse.ui.editors.maxEditorTabs,在新版Eclipse中也不再适用 - 旧版常量
IWorkbenchPreferenceConstants.MAX_EDITORS_FROM_MODEL已被废弃,当前Eclipse(4.x及以上版本)已将该配置迁移到工作台偏好体系中
正确实现代码
import org.eclipse.ui.IWorkbenchPreferenceConstants; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.preferences.ScopedPreferenceStore; // 获取工作台全局偏好存储实例 ScopedPreferenceStore workbenchPrefs = (ScopedPreferenceStore) PlatformUI.getPreferenceStore(); // 设置关闭前允许打开的编辑器数量为15 workbenchPrefs.setValue(IWorkbenchPreferenceConstants.MAX_EDITORS_BEFORE_CLOSE, 15); try { // 持久化保存偏好更改 workbenchPrefs.save(); // 通知工作台刷新设置,使更改立即生效 PlatformUI.getWorkbench().getPreferenceManager().updatePreferences(); } catch (IOException e) { // 处理保存异常 e.printStackTrace(); }
关键注意事项
- 确保RCP项目依赖
org.eclipse.ui插件,该插件包含IWorkbenchPreferenceConstants类及工作台偏好管理相关API - 调用
save()方法是保证设置在应用重启后依然生效的必要步骤 updatePreferences()会触发工作台UI更新,无需重启应用即可看到编辑器数量限制的变化
内容的提问来源于stack exchange,提问作者mk56852
相关产品推荐
相关产品推荐

