VSCode 不生成 .bak 文件,其来源是 Vim、Notepad++ 等外部工具;可通过 files.exclude 和 search.exclude 隐藏;防丢应依赖 Local History 插件和 Git,而非 .bak 文件。

VSCode 本身不生成 .bak 文件,你看到的 .bak 文件一定是其他程序(如 Vim、Emacs、Notepad++、某些构建脚本或旧版编辑器)留下的,VSCode 不会自动创建它们。 所以“隐藏备份产生的 .bak 文件”本质是:告诉 VSCode 别在资源管理器和搜索里显示这些外部残留文件。
为什么 .bak 文件会出现在 VSCode 里
常见来源包括:
- Vim/Neovim 启用了
backup选项(默认生成filename.txt.bak) - Windows 记事本或老旧工具保存时自动生成(尤其从网络驱动器复制后编辑)
- 某些 Makefile 或 shell 脚本手动 cp + .bak 后缀做备份
- 误以为 VSCode 自带备份功能——它没有,
.bak和 VSCode 无关
用 files.exclude 彻底隐藏 .bak 文件
这是最直接有效的方式,只影响左侧文件树和 Ctrl+P 文件列表:
- 打开命令面板(
Ctrl+Shift+P),运行Preferences: Open Workspace Settings (JSON)(推荐优先配工作区,避免污染全局) - 在
"files.exclude"对象中添加:"**/*.bak": true - 如果还想隐藏同级的
.swp、.swo等 Vim 临时文件,一并加上:"**/*.swo": true、"**/*.swp": true - 保存后无需重启,但需关闭再重新打开当前文件夹(
File > Close Folder→Open Folder)才能刷新资源管理器
顺便让 Ctrl+Shift+F 搜索也跳过 .bak
files.exclude 不影响全局搜索,必须单独配 search.exclude:
- 同样在
.vscode/settings.json中,添加"search.exclude"字段 - 内容与
files.exclude一致即可:"**/*.bak": true - 注意:两个字段完全独立,漏配一个,
.bak就可能在某处突然冒出来 - 如果你用的是用户级设置(全局生效),确保没被工作区设置覆盖——检查
Preferences: Open Workspace Settings (JSON)是否存在同名字段
别把 .bak 当成 VSCode 的“自动备份”来依赖
真正防丢靠的是 Local History 插件 + Git,不是找 .bak 文件:
-
Local History在项目根目录生成.history/,存的是每次保存前的快照,带时间戳,右键文件就能恢复 - 它只监控「当前已打开」的文件,没打开的
.js或.vue不会记录 -
.bak是静态副本,可能早已过期;而.history/是连续快照,粒度更细、恢复更准 - 如果项目里有符号链接(symlink),
.history不跟踪链后真实路径,这点比.bak更可控


















