MyEclipse必须手动开启两项自动保存设置:编译前保存(Workspace→Save automatically before build)和运行前保存(Run/Debug→Save dirty editors before launching),否则未激活编辑器的修改会丢失,Local History也无法恢复未保存内容。

MyEclipse 不会默认保存所有修改,编译或运行前丢代码是常态——必须手动开启两项关键设置,否则本地历史也救不回刚写的那几行。
编译/运行前自动保存必须开这两个开关
很多人以为“自动保存”开了就万事大吉,其实 MyEclipse 默认只保存当前激活编辑器,而编译(Build)或运行(Launch)时可能涉及多个未激活的脏文件(dirty editors),它们不会被自动保存,直接导致编译失败或运行旧版本代码。
-
Window > Preferences > General > Workspace > Save automatically before build:勾选此项,确保 Build 操作前所有已修改但未保存的文件全部落盘 -
Window > Preferences > Run/Debug > Launching > Save dirty editors before launching:勾选此项,防止 Run/Debug 时加载的是上一次保存的旧状态
漏掉其中任意一项,都可能出现“改了代码却没生效”“断点打在旧逻辑上”这类问题。注意:这两项彼此独立,不能互相替代。
Local History 不是实时快照,而是按保存事件触发
MyEclipse 的 Local History 不是每秒记录,而是依赖 Ctrl+S 或自动保存触发的“保存点”。也就是说,如果你没保存过,历史里就什么都没有——哪怕你写了半小时,只要没点保存或触发自动保存,崩溃后就彻底丢失。
- 路径配置在:
Window > Preferences > General > Workspace > Local History - 关键参数:
Days to keep files(默认 7 天)、Maximum number of revisions per file(默认 50),建议调高至 30 天 + 200 版本,尤其对核心业务类 - 备份实际存放在:
.metadata\.plugins\org.eclipse.core.resources\.history,纯二进制,不可手动编辑
它不记录删除动作本身,只记录文件存在时的每次保存。所以“右键 → Restore from Local History”只能恢复文件内容,不能还原文件结构(比如你删了一个包,History 里没有这个包的创建记录)。
Eclipse IDE 是一款由 Eclipse 基金会管理的开源、跨平台集成开发环境。其核心基于 Java 构建,通过强大的插件架构可扩展支持 C/C++、Python、PHP 等多种编程语言。它提供丰富的代码编辑、调试和重构工具,并紧密集成 Git、Maven 等现代开发工具链,是全球众多开发者首选的 Java 开发利器。
误删文件后怎么找回?不是回收站,也不是 Git
Eclipse/MyEclipse 删除文件时,默认不走系统回收站,而是直接从 workspace 目录移除 + 写入 Local History 快照(前提是删之前该文件已被保存过)。恢复路径很固定:
- 若文件还在项目视图中显示为“已删除”(灰色+删除线):右键父文件夹 →
Restore from Local History→ 选时间点 →Restore - 若文件已完全消失(项目里找不到):右键其原所在包/文件夹 →
Replace With > Local History→ 左侧空白表示当前不存在,右侧列出历史版本 → 双击某条 → 点Replace(会重建该文件) - 注意:
Replace With是覆盖当前文件,Restore from Local History是新建同名文件——两者行为不同,别用反
如果删完立刻关了 MyEclipse,且没触发过自动保存,History 里很可能为空。这时候唯一指望是操作系统级文件恢复工具(如 Windows 的 Previous Versions 或第三方软件),但成功率极低。
Workspace 备份不是可选项,而是上线前必做动作
Workspace 不只是代码存放目录,还包含:启动配置、服务器绑定、断点设置、插件状态、甚至 Maven 本地仓库索引缓存。一旦损坏(常见于强制关机、磁盘错误、升级失败),重装 MyEclipse 都救不回来。
- 最稳妥方式:
复制整个 workspace 文件夹(含 .metadata 子目录),粘贴到另一块物理磁盘或 NAS 路径 - 不推荐仅压缩备份:
.metadata下有大量锁文件和临时状态,解压后可能无法直接启动 - 升级 MyEclipse 前必须备份;更换 JDK 版本、切换 Maven 配置、导入大型新项目后,也建议 snapshot 一次
真正麻烦的不是备份操作本身,而是你以为备份了,结果发现备份路径写错、磁盘满、或 .metadata 被同步工具过滤掉了——这些细节比技术本身更容易让人栽跟头。

















