VSCode 默认快捷键无法导出,因其硬编码在二进制中;需通过 Ctrl+K Ctrl+S → “Show Default Keybindings” → 全选复制 → 保存为 JSON 文件获取完整、可搜索的默认映射快照。

VSCode 默认快捷键不能直接“导出”,但能完整查看和复制
VSCode 没有「导出默认键位」命令,Ctrl+Shift+P 里搜不到 export default keybindings 或类似选项——这不是功能缺失,是设计使然。默认快捷键硬编码在编辑器二进制中,不以文件形式存在,所以无法一键保存为 JSON 或 CSV。
你真正需要的,是获取一份可搜索、可离线查阅的完整默认映射快照。这个操作分两步:打开默认列表 → 手动复制内容。
- 按
Ctrl+K Ctrl+S(Windows/Linux)或Cmd+K Cmd+S(macOS)打开快捷键设置页 - 点击右上角 “⋯” 菜单 → 选择
Show Default Keybindings - 等待列表加载完成(可能需几秒),此时显示的是全部内置快捷键,含
key、command、when - 全选页面内容(
Ctrl+A),复制(Ctrl+C)→ 粘贴到 VSCode 新建文件中,保存为vscode-default-keymap.json
注意:Show Default Keybindings 是只读视图,不能编辑;它也不包含你自定义的任何条目,干净无污染。
为什么不能从 keybindings.json 里拿到默认配置
keybindings.json 文件只存你**改过**的部分,空文件就代表“完全走默认”。如果你打开它发现内容为空或只有几条,那不是配置丢了,而是你根本没覆盖过默认行为。
常见误解是把 keybindings.json 当成“全部快捷键数据库”,结果导出后发现只有三四行,远少于实际可用的几百个命令。
- 用户级
keybindings.json路径示例:
Windows:%APPDATA%\Code\User\keybindings.json
macOS:~/Library/Application Support/Code/User/keybindings.json
Linux:~/.config/Code/User/keybindings.json - 该文件一旦存在且非空,VSCode 就会加载它,并与默认规则合并;但它本身不生成、也不包含默认规则
- 执行
Preferences: Open Keyboard Shortcuts (JSON)命令,打开的永远是用户级文件,不是默认配置源
导出后怎么用才实用
复制出来的默认列表是纯文本 JSON 数组,直接保存为 .json 文件后,VSCode 会自动启用语法高亮、折叠、搜索(Ctrl+F)、跳转定义等能力,比截图或 PDF 强得多。
- 搜索时建议用命令 ID(如
editor.action.formatDocument)而非按键组合,更稳定 - 想查某键在什么场景生效?搜
"key": "ctrl+shift+p",再看紧邻的when字段值 - 不要试图把这个文件设为工作区配置或用它覆盖用户级
keybindings.json——它不含when的完整上下文解析逻辑,强行加载可能触发意外行为 - 如果团队要共享参考,发这个 JSON 文件比发截图靠谱;但别把它当配置文件去导入,那是错的路径
扩展或插件能替代手动复制吗
截至 2026 年 11 月,主流插件如 keybinding-cheatsheet 已停止维护,新版 VSCode(v1.95+)下多数无法加载或显示空白。官方从未提供导出功能,也没有计划加入。
依赖插件反而容易踩坑:
- 插件生成的“图谱”常漏掉
when条件,导致你以为Ctrl+K Ctrl+C处处可用,实际只在编辑器聚焦时生效 - 部分插件会把平台差异(如
cmdvsctrl)混在一起输出,造成误导 - 插件页面无法响应 VSCode 实时更新的命令 ID 变更,比如 1.94 版本将
workbench.action.terminal.toggleTerminal改名为workbench.action.terminal.toggle,旧插件仍显示老名字
最稳的方式始终是:用 Ctrl+K Ctrl+S → Show Default Keybindings → 复制粘贴。多花十秒,换来的是准确、实时、无依赖的参考源。


















