答案:通过keybindings.json文件管理快捷键冲突并自定义映射。首先打开命令面板搜索“Preferences: Open Keyboard Shortcuts (JSON)”,查看冲突按键的绑定情况,优先级为用户自定义 > 扩展 > 默认设置;在keybindings.json中添加新规则,如将保存改为Ctrl+Alt+S,并用负号取消默认Ctrl+S绑定;可参考他人配置逐步重映射常用命令,结合when条件实现上下文控制;对扩展引起的冲突,可通过删除绑定或禁用扩展解决。掌握负号语法和when条件是关键。

VSCode 快捷键冲突通常是因为多个命令绑定了同一个按键组合,或者安装的扩展添加了与默认或自定义快捷键重复的绑定。要解决这个问题并按个人习惯重新映射所有快捷键,可以按照以下步骤操作。
查看和解决快捷键冲突
当发现某个快捷键没有触发预期操作时,可能是发生了冲突。你可以通过以下方式排查:
- 打开命令面板:按下 Ctrl+Shift+P(macOS 上是 Cmd+Shift+P),输入“Preferences: Open Keyboard Shortcuts (JSON)”并回车。
- 在右侧的快捷键列表中搜索你关心的按键,比如 Ctrl+S,VSCode 会列出所有绑定该组合键的命令。
- 如果看到多个条目,说明存在冲突。优先级高的会覆盖低的,通常是用户自定义 > 扩展 > 默认设置。
- 点击某条快捷键右侧的垃圾桶图标可删除,或直接在 json">keybindings.json 中编辑。
使用 keybindings.json 自定义快捷键
VSCode 允许你完全掌控快捷键行为,通过修改用户级别的 keybindings.json 文件实现个性化映射。
- 进入命令面板,运行“Preferences: Open Keyboard Shortcuts (JSON)”。
- 这个文件是一个 JSON 数组,每一项代表一个快捷键规则,包含 key、command 和可选的 when 条件。
- 例如,你想把保存文件的快捷键从 Ctrl+S 改成 Ctrl+Alt+S,可以添加如下配置:
上面第二项用了负号 - 表示取消默认绑定,避免冲突。
按习惯系统性重映射快捷键
如果你希望整体调整快捷键体系(比如习惯 Vim、Sublime 或 IntelliJ 的操作方式),建议采取以下策略:
- 先梳理常用操作:列出你每天高频使用的命令,如保存、查找、格式化、跳转、终端控制等。
- 参考已有方案:有些开发者公开了自己的 keybindings.json 配置,可以在 GitHub 搜索参考。
- 逐步替换,不要一次性全改:一次改动太多容易记混。先改最常用的几个,适应后再加新规则。
- 利用 when 条件精细化控制:比如只在终端聚焦时启用某些快捷键,避免干扰编辑器操作。
禁用扩展带来的冲突快捷键
某些扩展(如 Vim 插件、Bookmarks、Bracket Pair Colorizer)会自带快捷键,可能覆盖你的设置。
- 在快捷键界面搜索相关命令名,找到来源扩展。
- 可在 keybindings.json 中用负号移除其绑定,或在扩展设置中关闭快捷键功能。
- 也可以暂时禁用扩展测试是否冲突消失。










