atom的「file > open recent」菜单需同时满足开启「browse history」和文件属于已加载项目目录两个前提才能生效,否则为空;cmd+p仅搜索当前项目内已索引文件,不支持跨项目最近文件检索。

Atom 默认不自动保存跨会话的最近文件列表,必须手动启用「浏览历史」并确认项目已正确加载,否则 Cmd+P / Ctrl+P 搜不到、菜单里也为空。
如何让「File > Open Recent」菜单生效
这个菜单项依赖两个前提:Atom 的「浏览历史」开关已开启,且你打开的文件属于当前已加载的项目目录(或其子目录)。
- 点击 Atom 窗口右下角的「三」图标 → 「设置」→ 搜索
browse history→ 开启开关 - 确保文件是在「Project > Add Project Folder」中添加的目录下,而不是随意双击桌面文件打开的(后者不会进历史)
- 如果刚添加项目,等 2–3 秒再点菜单,索引有延迟;仍不显示可执行
Cmd-Shift-P→ 输入Fuzzy Finder: Rebuild Index - 菜单最多显示
core.reopenProjectMenuCount个条目,默认是 10,可在config.cson中修改
Cmd+P / Ctrl+P 搜不到最近文件?检查匹配逻辑
Fuzzy Finder 不是“最近文件专用搜索”,它只搜当前项目内已索引的文件,按路径+文件名双维度模糊匹配——所以它根本不会返回“上次打开但这次没加进项目的文件”。
- 输
recent不会触发特殊过滤,Atom 原生无此功能;Nuclide 才有> recent语法 - 想快速访问非当前项目的旧文件?得靠系统级「最近项目」:Mac 上用苹果菜单 >「最近使用的项目」>「文稿」,或 Windows 用跳转列表
- 若文件在项目中但搜不到,检查是否被
.gitignore或core.ignoredNames配置排除了(比如node_modules) - 空格是「且」关系,
user modal表示路径含 user 且文件名含 modal,不是整串匹配
清除或固定特定最近文件记录
Atom 原生不支持右键移除单个最近文件,也不支持「固定常用文件」。这是插件级能力,需额外安装。
- 原生唯一清除方式:关闭 Atom → 删除
~/.atom/storage/下的application.json(含窗口布局与部分历史) - 要精细管理,装插件
reopen-project-menu-manager,它提供「移除单个项目」「清空全部」「锁定常用项目」等命令 - 该插件通过
core.reopenProjectMenuCount控制数量,但它的「最近文件」是项目粒度,不是单文件粒度 - 真正接近 Nuclide 那种单文件级最近记录的,是社区插件
file-history,但它不维护时间戳排序,稳定性一般
跨会话项目恢复 vs 单文件恢复的区别
很多人混淆这两者:Atom 的「恢复上次窗口」是靠 ~/.atom/storage/application.json 记项目路径和编辑器状态;而「最近文件」只是 UI 层临时缓存,关掉就丢,除非你开了浏览历史并持续在同一个项目里操作。
- 重启后自动恢复项目:需开启设置中的
Restore Previous Windows On Start(默认开) - 但即使开了,也不会自动打开上次编辑的 .md 或 .js 文件——它只恢复项目目录和已打开的 tab 标签页
- 如果你关 Atom 前没保存 tab,或者 tab 是未保存的新建文件,那这部分历史完全丢失,无补救机制
- 所以「最近文件」实际最可靠的是操作系统层:Mac 的「最近使用的文稿」、Windows 的「Jump List」,它们不依赖 Atom 状态
最容易被忽略的一点:Atom 的「浏览历史」只记录你通过菜单、拖入、或项目内双击打开的文件,不记录命令行 atom foo.js 直接打开的路径——后者走的是独立进程启动流程,绕过了编辑器内部历史写入逻辑。










