VSCode中tasks.json、settings.json等文件忽略JSON缩进设置问题
问题原因
VSCode 默认将settings.json、tasks.json这类自身核心配置文件识别为**JSONC(带注释的JSON)**语言模式,而非普通的JSON。你之前在[json]下配置的缩进规则,只会作用于被识别为普通JSON的文件,对JSONC模式的文件无效。
解决方法
修改你的.vscode/settings.json,添加针对jsonc语言模式的缩进配置,覆盖默认的4空格设置:
{ "[json]": { "editor.detectIndentation": false, "editor.insertSpaces": true, "editor.tabSize": 2 }, "[jsonc]": { "editor.detectIndentation": false, "editor.insertSpaces": true, "editor.tabSize": 2 } }
验证方式
打开tasks.json或settings.json,查看VSCode右下角状态栏的语言模式,此时会显示JSONC。保存配置后,重新格式化文件(快捷键Ctrl+Shift+I/Cmd+Shift+I),就能看到缩进变为2个空格。
补充说明
如果不需要JSONC的注释支持,也可以强制将这两个文件关联为普通JSON模式,这样就能直接复用你原有的[json]配置:
{ "[json]": { "editor.detectIndentation": false, "editor.insertSpaces": true, "editor.tabSize": 2 }, "files.associations": { "settings.json": "json", "tasks.json": "json" } }
但不推荐这种方式,因为VSCode的配置文件通常需要添加注释来标注配置用途,JSONC模式能完美支持这一点。
内容的提问来源于stack exchange,提问作者Dino
相关产品推荐
相关产品推荐

