VSCode 自动保存默认关闭,需在设置中开启并选择 off/afterDelay/onFocusChange/onWindowChange 模式;afterDelay 可调延迟时间;支持按语言或文件夹单独配置;自动保存不触发格式化,需额外开启相关选项。

VSCode 的自动保存功能默认是关闭的,需要手动开启并选择合适的触发模式。它不是简单“开或关”就完事,关键在于选对 自动保存的时机 ——比如是离开编辑器时保存、暂停输入几秒后保存,还是每键入就保存一次。
如何开启自动保存
打开设置(Ctrl+, 或 Cmd+,),在搜索框输入 auto save,找到 Files: Auto Save 选项。点击下拉菜单,从三个模式中选择一个:
- off:完全关闭(默认)
- afterDelay:输入停止后延迟保存(默认延迟 1000ms)
- onFocusChange:切换到其他文件或离开编辑器窗口时保存
- onWindowChange:切换到其他应用窗口时保存(需 VSCode 1.85+)
调整延迟时间(仅 afterDelay 模式有效)
如果选了 afterDelay,还可以控制“停顿多久才保存”。默认是 1 秒,但你可以改得更短(比如 300ms)减少等待感,或更长(比如 2000ms)避免频繁写入。在设置中搜索 auto save delay,修改 Files: Auto Save Delay 的数值(单位毫秒)即可。
按语言或文件夹单独配置
某些场景下,你可能只想对特定类型文件启用自动保存,比如 Markdown 或 JSON,而对 Python 或编译型文件保持手动保存。可以在工作区设置(.vscode/settings.json)中按语言覆盖:
"[markdown]": {"files.autoSave": "afterDelay", "files.autoSaveDelay": 500}, "[json]": {"files.autoSave": "onFocusChange"}
也可以为整个文件夹统一设置,在该文件夹的 .vscode/settings.json 里写全局配置。
注意:自动保存 ≠ 自动格式化
自动保存本身不会触发格式化、代码修复或 ESLint 自动修复。如果你希望“保存即格式化”,需额外开启:
- Editor: Format On Save(格式化)
- Editor: Code Actions On Save(如自动修复 ESLint 错误)
这些功能独立开关,且可能受语言扩展支持程度影响。建议搭配使用,但要留意格式化规则是否已正确配置,否则可能保存后代码“意外变形”。
基本上就这些。选对模式、调好延迟、按需分语言控制,自动保存就能既省心又可控。