VSCode需手动开启autoSave防丢,推荐afterDelay(默认1000ms)或onFocusChange模式;注意工作区settings.json可能覆盖全局设置,Remote-SSH/WSL需配远程用户设置,autoSave与格式化不冲突但建议按需启用。
如何在 VSCode 中开启 autoSave 设置
VSCode 默认不自动保存文件,编辑内容仅存在于内存中,关掉窗口或崩溃就丢——必须手动配置
才能真正防丢。
打开设置最直接的方式是快捷键
(Windows/Linux)或
(macOS),然后在搜索框输入
,找到
选项。它有三个可选值:
(默认)、
、
、
。别选
,否则等于没开。
:最常用,延迟保存(默认 1000ms),适合大多数场景;可在
中调低到
加快响应
:切出编辑器(比如点到终端或另一个标签页)时立即保存,适合多任务但频繁切换的用户
:仅当整个 VSCode 窗口失焦(比如 Alt+Tab 切到浏览器)才保存,范围比
更窄
为什么改了设置却还是没自动保存
常见原因是工作区设置了覆盖全局的
,优先级更高,把用户级的
给屏蔽了。
检查路径:
(项目根目录下)是否包含
或其他冲突配置。如果有,删掉这行,或改成和全局一致的值。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
优先级顺序:工作区设置 > 用户设置 > 默认设置
如果用 Remote-SSH 或 WSL 远程开发,设置需写在远程环境的用户设置里,本地改无效
某些扩展(如 Prettier、ESLint)启用了“保存时格式化”,可能掩盖了保存动作,误以为没生效;可临时禁用这些扩展验证
autoSave 和 editor.formatOnSave 冲突吗
不冲突,但行为叠加后容易引发困惑:比如设了
+
,保存会先格式化再落盘,若格式化耗时长,可能造成轻微卡顿或光标跳动。
若只想要“防丢”,建议关闭
,改用格式化快捷键
按需执行
若坚持开启格式化,推荐搭配
,避免编辑中途被格式化打断思路
注意:某些语言服务器(如 Rust 的 rust-analyzer)在保存瞬间触发分析,频繁保存可能增加 CPU 占用,小项目无感,大型项目可观察
中的 CPU 使用率
还有哪些隐藏风险要注意
自动保存不是万能保险。它只保证“编辑器内修改的内容写入磁盘”,不等于版本可控或崩溃恢复可靠。
未添加到 Git 的新文件,即使自动保存,删错后也难找回;建议配合
(默认启用)保留未保存的编辑状态
保存动作本身失败(如磁盘满、权限不足、网络驱动断连),VSCode 会在右下角弹出错误提示
,但不会中断编辑,容易忽略
使用符号链接或挂载的网络路径(如 SMB/NFS)时,
可能因 I/O 延迟导致保存滞后甚至失败,此时
更稳妥
真正关键的不是“有没有开 autoSave”,而是确认它正在起作用——改一行代码,切到终端敲
看时间戳是否更新,或者用
监听实际写入事件。
autoSaveCtrl+,Cmd+,auto saveFiles: Auto SaveoffafterDelayonFocusChangeonWindowChangeoffafterDelayFiles: Auto Save Delay500onFocusChangeonWindowChangeonFocusChangesettings.jsonautoSave.vscode/settings.json"files.autoSave": "off"afterDelayeditor.formatOnSaveeditor.formatOnSaveShift+Alt+FonFocusChangeDeveloper: Toggle Developer Toolsfiles.hotExitUnable to write file ...afterDelayonFocusChangels -linotifywait -m -e modify /path/to/file