要查清 mergeEditor.open 等命令绑定的快捷键,先打开键盘快捷键设置页,点击键盘图标后按下目标组合键,VS Code 会自动列出所有匹配项及来源和 when 条件。

怎么查清“合并编辑器”当前绑定了哪些快捷键
VSCode 没有叫“合并编辑器”的内置命令,你实际想操作的极大概率是 mergeEditor.open(VS Code 1.90+ 引入的合并编辑器功能),或旧版的 editor.action.inlineCompare(内联比较)、workbench.files.action.compareFileWith(文件对比)等。先确认目标命令 ID 才能准确重绑。
打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),输入 Preferences: Open Keyboard Shortcuts 进入快捷键设置页;在搜索框右侧点击键盘图标(⌨️),然后按下你怀疑被占用的组合键(比如 Ctrl+Alt+M),VSCode 会自动填入对应 key 字符串并列出所有命中项——末尾标注来源(Default / Extension / User)和 when 条件,一眼就能看出谁在抢这个键。
直接图形界面重绑 mergeEditor.open
如果你已安装较新版本 VS Code(≥1.90)且启用了合并编辑器,该命令默认无快捷键。想手动绑定:
- 在快捷键界面搜索
mergeEditor.open - 找到后点击右侧铅笔图标(编辑)
- 按下你想设的新组合(如
Ctrl+Alt+M),回车确认 - VS Code 会自动写入
keybindings.json,并带上安全的when:默认是editorTextFocus && !editorReadonly,确保只在可编辑文本中生效
手动编辑 keybindings.json 添加带上下文的绑定
图形界面有时不显示未启用的命令,或你想精细控制作用域(比如仅在 Git 差异视图中触发),就得直接改 JSON:
按 Ctrl+Shift+P → 输入 Preferences: Open Keyboard Shortcuts (JSON) 回车,打开用户级 keybindings.json 文件,在数组里添加:
[{
"key": "ctrl+alt+m",
"command": "mergeEditor.open",
"when": "resourceScheme == 'git' && editorTextFocus"
}]
注意点:
-
when必须写对:用resourceScheme == 'git'限定只在 Git 变更文件中可用,避免误触 - 别漏掉逗号分隔符,JSON 语法错误会导致整个快捷键列表失效
- 如果已有其他命令占了
ctrl+alt+m,VS Code 不会报错,但后者会静默覆盖前者——所以务必先查冲突
为什么重绑后没反应?常见失效原因
不是改了就一定生效,这几个地方最容易忽略:
-
when条件太窄:比如写了editorLangId == 'python',但你在 Markdown 文件里按快捷键,自然不触发 - 系统或输入法劫持:某些中文输入法(如搜狗、微软拼音)会拦截
Ctrl+Alt+X类组合,换用Ctrl+Shift+X测试一下 - 扩展干扰:GitLens、Prettier 等插件可能自带同名命令,检查快捷键列表里是否出现多个
mergeEditor.open来源 - 配置未保存:JSON 文件修改后必须保存(
Ctrl+S),VS Code 不会自动保存该文件
最稳妥的验证方式:改完后,回到快捷键界面,再用键盘录制功能搜一遍你的新组合键,看是否唯一命中你刚加的那条。











