Ctrl+K Ctrl+S(Windows/Linux)或Cmd+K Cmd+S(macOS)是VSCode查看、搜索、修改及导出快捷键映射的唯一权威入口,实时显示所有绑定、冲突、禁用状态和when触发条件,支持过滤、重绑与JSON导出,远超静态PDF或命令面板功能。

Ctrl+K Ctrl+S 是唯一能导出真实映射的入口
VSCode 官方不提供“一键打印 PDF”的快捷键表,所有所谓“速查表”都是社区快照,版本滞后、缺少 when 条件上下文。真正可靠的方式是用 Ctrl+K Ctrl+S(Windows/Linux)或 Cmd+K Cmd+S(macOS)打开实时键盘设置页——它显示当前实际生效的所有绑定,包括冲突项、禁用状态和精确的触发条件。
常见错误现象:按 F1 或 Ctrl+Shift+P 搜索“format”,只能看到命令列表,看不到哪个键绑了 editor.action.formatDocument,也看不到它为什么在终端里失效。
- 误按
Ctrl+K后松手再按Ctrl+S,会触发其他Ctrl+K前缀命令(比如折叠),需按Esc退出重试 - macOS 用户必须全程按住
Cmd,不能分两次按;Option键对应的是⌥,不是Alt - 该页面右上角「⋮」可导出为 JSON,适合备份或 diff 版本差异
打印前必须检查 when 条件和焦点状态
很多快捷键“按了没反应”,根本原因不是配置错,而是 when 表达式不满足。例如 Ctrl+L(选中当前行)只在 editorTextFocus 时生效——光标在终端、设置页或搜索框里,它就完全静音。
在 Ctrl+K Ctrl+S 页面里,灰色文字标注的 When 列就是关键:
-
editorTextFocus && !editorReadonly:只在可编辑的代码文件中生效 -
terminalFocus:仅当焦点在终端时触发 -
inDebugRepl:仅调试 REPL 环境下可用
打印前建议用浏览器“打印预览”检查换行——Ctrl+Shift+P 这类长组合容易被截断成两行,影响实用性。
自己生成可打印的精简版快捷键表
直接复制整个 Ctrl+K Ctrl+S 页面内容到 Word 或 Markdown 编辑器,删减非核心项更高效。重点保留这几类:
- 文件跳转:
Ctrl+P、Ctrl+Shift+O - 多光标:
Ctrl+D、Alt+点击、Ctrl+Alt+↑/↓ - 格式化:
Shift+Alt+F、Ctrl+K Ctrl+F - 终端切换:
Ctrl+`
别保留调试专用键(如 Ctrl+Shift+D)、插件独占键(如 Prettier 插件绑定),它们在不同环境里不稳定,打印出来反而干扰判断。
keybindings.json 里改快捷键,别漏掉 when 字段
想自定义快捷键,必须编辑 keybindings.json,但新手常漏写 when 导致键在不该生效的地方乱触发,或在该生效时静默失败。
示例:把 Ctrl+Enter 绑定为“下方插入新行”,必须写清楚上下文:
[<br> {<br> "key": "ctrl+enter",<br> "command": "editor.action.insertLineAfter",<br> "when": "editorTextFocus"<br> }<br>]
-
key中修饰键顺序固定:Windows/Linux 是ctrl、shift、alt;macOS 是cmd、shift、alt -
command必须是真实命令 ID,右键命令面板里的条目 → “Copy Command ID” 最准 - 覆盖默认键(比如改
Ctrl+S)时,when必须和原默认项完全一致,否则新规则无效
真正难的不是加一条键,而是搞清某个操作到底依赖什么上下文——比如 workbench.action.terminal.toggleTerminal 在终端未加载时可能不响应,这不是配置问题,是 VS Code 的懒加载机制。











