VSCode中如何排除settings.json触发editor.formatOnSave自动格式化
解决VSCode中settings.json保存时自动格式化的禁用问题
核心原因
VSCode自带的JSON/JSONC格式化器不识别// fmt: off或// @ts-nocheck这类注释指令,所以添加这些注释无法阻止保存时的格式化操作。
可行解决方案
1. 精准排除settings.json文件(推荐)
直接在全局settings.json中配置editor.formatOnSaveExclude,指定排除settings.json文件:
"editor.formatOnSave": true, "editor.formatOnSaveExclude": { "**/settings.json": true }
这个规则会匹配所有路径下的settings.json文件(包括用户设置和工作区设置),保存时自动跳过格式化。
2. 为settings.json单独设置文件类型
通过自定义文件类型关联,仅禁用该类型的自动格式化:
// 先将settings.json关联为自定义类型 "files.associations": { "settings.json": "custom-jsonc" }, // 禁用该自定义类型的保存格式化 "[custom-jsonc]": { "editor.formatOnSave": false }
这种方法不会影响其他JSON/JSONC文件的自动格式化,仅针对settings.json生效。
3. 针对第三方格式化器调整(如Prettier)
如果你使用Prettier作为格式化工具,可以通过以下两种方式处理:
- 直接在设置中禁用JSONC文件的格式化:
"prettier.disableLanguages": ["jsonc"] - 或者通过
.prettierignore文件排除settings.json:
在项目根目录(或用户目录)创建.prettierignore文件,添加一行:settings.json
内容的提问来源于stack exchange,提问作者Kei_JP
相关产品推荐
相关产品推荐

