JsonComments插件是唯一可靠解法,需将.json文件关联为jsonc模式才能启用注释;Ctrl+/仅在jsonc下有效,冲突快捷键需手动排查;其他配置方式均无效。

JSON 文件本身不支持注释,JsonComments 插件是唯一可靠解法
标准 JSON 规范禁止注释,所以直接在 package.json 或 settings.json 里写 // 或 /* */ 会导致解析失败、VSCode 报错 Invalid character。别试手动加——它不是“没高亮”,而是根本非法。官方推荐的变通方案只有两个:JSONC(JSON with Comments)格式,或用插件在保存时动态转义/还原。目前最稳定、零配置、开箱即用的只有 JsonComments 插件,它把注释存在隐藏字段里,读取时注入、保存时不写入,对工具链完全透明。
JsonComments 安装后无需配置,但必须确认文件关联为 jsonc
安装完插件后,打开任意 .json 文件(比如 package.json),右下角状态栏会显示当前语言模式。如果显示的是 JSON,点击它 → 选 Configure File Association for '.json'... → 输入 jsonc → 回车。这步漏掉,插件不会生效。之后所有 .json 文件默认按 jsonc 解析,你就能直接输入 // 或 /* */,光标移到行首按 Ctrl+/ 也能正常切换单行注释。
快捷键行为取决于当前语言模式,Ctrl+/ 在 jsonc 下才有效
如果你已切到 jsonc 模式但 Ctrl+/ 仍无反应,大概率是快捷键被其他扩展劫持。打开命令面板(Ctrl+Shift+P)→ 输入 Preferences: Open Keyboard Shortcuts (JSON) → 检查是否有其他扩展占用了该组合键。常见冲突来源:GitLens、Prettier、Vim 扩展。临时验证方式:在文件中输入 // test 手动写一行,看是否语法高亮且不报错。如果手动能写、快捷键不能,就只改快捷键绑定,不用动插件。
别混用 settings.json 和 keybindings.json 的配置逻辑
有人试图在 settings.json 里加 "json.schemas" 或 "files.associations" 来强制识别注释,这无效。注释支持由语言服务决定,而 VSCode 的 JSON 语言服务默认关闭注释;jsonc 是另一套独立服务。同样,keybindings.json 里不能靠改 command 来“启用注释”,它只管按键触发什么动作,不管底层语法是否允许。真正起作用的只有两件事:插件启用 + 文件语言模式设为 jsonc。其余任何绕过这两步的尝试,都会卡在保存时报错或被其他工具(如 npm、webpack)拒绝读取。


















