shift+alt+f对json文件没反应,是因为vscode未识别为标准json模式:右下角需手动选“json”(非jsonc或plain text),检查files.associations映射、keybindings.json中when条件是否满足、插件是否劫持,以及系统/输入法拦截。

为什么Shift+Alt+F对JSON文件没反应
不是快捷键坏了,是VSCode根本没把它当JSON处理。右下角状态栏显示的如果是Plain Text、JSON with Comments或JavaScript,内置格式化器就直接放弃——它只认标准JSON模式。
- 点击右下角语言标识,手动选
JSON(注意别选带“Comments”的变种) - 无后缀或非常规后缀(如
.env.json)时,按Ctrl+K M输入json回车强制切换 - 检查
.vscode/settings.json里有没有"files.associations"把本该是JSON的扩展名映射到了别的语言
keybindings.json里加快捷键却无效的三大真实原因
写进keybindings.json不等于生效,VSCode静默忽略比报错更麻烦。
使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。
-
"when"条件不满足:比如写了"when": "editorTextFocus",但你在资源管理器或终端里按,它完全没反应,也不提示 - 被插件劫持:GitLens、Vim等扩展自带绑定,且优先级高于用户配置;打开
Ctrl+K Ctrl+S搜你的组合键,看“来源”列是Extension还是User - 系统或输入法拦截:搜狗拼音、Logitech Options常吞掉
Ctrl+;、Ctrl+Shift+P这类组合;临时退出再试,比重配十次更有效
用vscode-json插件快速定位深层JSON字段
面对800行的tsconfig.json或Kubernetes YAML转JSON后的嵌套结构,滚动查找5层以上的compilerOptions节点,纯靠眼睛效率极低。
- 安装
vscode-json插件后,打开任意.json文件,左侧面板自动出现树状视图 - 在树状视图顶部搜索框输入字段名(如
outDir),1秒内高亮所有匹配节点 - 右键节点选
Rename,插件自动同步更新所有同名键——不用手动找引用、不怕漏改
非美式键盘用户必须加的隐藏设置
中文/德语/日语键盘下,Ctrl+;常被识别成Ctrl+:,导致自定义快捷键失效。这不是VSCode bug,而是默认按字符dispatch导致的映射错乱。
- 打开
settings.json(不是keybindings.json),添加:"keyboard.dispatch": "keyCode" - 这个设置让VSCode按物理按键位置而非输入字符判断,所有基于
;、[、]的快捷键才能稳定触发 - 改完保存,无需重启,下次按键就生效










