Ctrl+P是打开最近文件的唯一可靠方式,需输入空格或recent:才能触发历史列表,其本质是内存中带TTL的LRU缓存,不跨窗口同步且关窗即清空。

Ctrl+P 是唯一可靠入口,不是 Ctrl+Tab,也不是 Ctrl+R——后者只管标签页或工作区,不解决“刚改过的那个 utils.ts 怎么再打开”的问题。
Ctrl+P 搜索最近文件,但默认不显示历史列表
按下 Ctrl+P(Windows/Linux)或 Cmd+P(macOS)后,输入框默认聚焦,但不会自动弹出最近文件列表;必须先输一个字符(哪怕只是空格),才会触发历史匹配。VS Code 把“最近打开”当作一种隐式候选源,而非独立视图。
- 输入
recent:(注意冒号)可强制限定为最近文件列表,比全量模糊搜索更干净 - 列表按访问时间倒序排列,但只保留最近 10–20 个条目,关窗口即清空部分记录
- 若某文件刚被关闭,它仍会短暂保留在历史中;但若你用
Ctrl+W关闭后又立刻重开同名文件,它会刷新时间戳,排位上升
Ctrl+Tab 切换的是标签页,不是“最近使用”
Ctrl+Tab 只在当前窗口已打开的编辑器标签间循环切换,和“最近用过但已关闭”的文件完全无关。它不读取历史缓存,也不排序,纯靠打开顺序和最近激活顺序维护一个轻量栈。
- 如果你开了 15 个文件又关掉 12 个,
Ctrl+Tab只在剩下那 3 个里跳,不会把你带回第 4 个 - 松开
Ctrl前反复按Tab,视觉反馈弱,容易错过目标;不如Ctrl+P输入片段直接命中 - 启用 Vim 插件时,
Ctrl+Tab可能被劫持成其他行为,此时连基础切换都失效
如何让常用文件不被历史刷掉
VS Code 不提供“固定最近文件”功能,但可通过间接方式提升复用率:
- 右键资源管理器里的文件 → “Keep Open”,它会常驻标签页且不参与自动关闭逻辑
- 把高频文件加入
workbench.editor.revealIfOpen设置,确保重复Ctrl+P搜索时直接聚焦已有标签,而非新开 - 装
Project Manager插件后,配合自定义快捷键绑定project-manager:open-project,可为特定文件路径设专属热键
真正卡住人的地方,是误以为“最近使用”是个持久、全局、可检索的数据库——它其实只是内存里一个带 TTL 的 LRU 缓存,既不跨窗口同步,也不保留关闭前的上下文快照。


















