vscode保存时自动格式化开关可通过设置界面或json配置关闭,推荐设为"editor.formatonsave": false;支持按文件类型(如[json])禁用;多插件冲突时需指定默认格式器并禁用冗余插件;临时禁用可点击状态栏格式器名称。

保存时自动格式化开关在哪
VSCode 默认开启 editor.formatOnSave,一按 Ctrl+S 就触发格式化,根本停不下来。关掉它最直接:打开设置(Ctrl+,),搜 formatOnSave,把勾去掉就行。
但更稳妥的做法是改用户设置 JSON:
"editor.formatOnSave": false这样不会被工作区设置覆盖,也方便同步到其他机器。
只对某类文件禁用格式化
你可能只想让 .json 或 .md 文件跳过格式化——毕竟 JSON 被 Prettier 重排后可读性反而下降,Markdown 的缩进逻辑也常被误伤。
- 在设置里搜
files.associations,确认文件类型绑定正确(比如.json对应json) - 再搜
[json](方括号语法),点“在 settings.json 中编辑”,加这一段:"[json]": { "editor.formatOnSave": false } - 同理可配
[markdown]、[yaml]等
格式化插件冲突导致保存卡顿或错乱
装了 Prettier、ESLint、Beautify 多个格式化工具后,Ctrl+S 可能变慢,甚至出现“格式化一半就停”或“删掉空行又加回来”的诡异行为。
- 检查
editor.defaultFormatter是否设定了唯一主力格式器(比如esbenp.prettier-vscode) - 禁用非必要格式化插件,尤其避免同时启用
prettier和beautify - 在项目根目录加
.prettierrc或.editorconfig,比 VSCode 设置更优先,也更可控
临时禁用:比开关更快的快捷操作
开会改 bug 时没时间调设置?按 Ctrl+Shift+P 打开命令面板,输 Format Document,别回车——先看右下角状态栏:如果显示“Prettier”或“ESLint”,点它,会弹出“Disable for Current Workspace”或“Disable for This File”。
这个操作不改任何配置,下次打开还是原样,适合紧急场景。但注意:它只对当前文件/文件夹生效,关掉窗口再开,就得重新点一次。
真正容易被忽略的是:格式化行为可能来自语言服务(如 TypeScript 的 typescript.preferences.quoteStyle),这类设置藏得深,且不响应 formatOnSave 开关。遇到奇怪引号替换或分号增删,得单独查对应语言的 formatting 相关配置项。











