可在 VSCode 中通过图形界面或手动编辑 keybindings.json 自定义快捷键,支持添加、覆盖、禁用及条件触发,并可导出导入实现多设备同步。

如果您希望在 Visual Studio Code 中调整键盘快捷键以匹配个人操作习惯或替代编辑器的按键逻辑,则需要修改 VSCode 的键盘映射配置。以下是实现自定义键盘映射的完整操作路径:
本文运行环境:MacBook Air,macOS Sequoia
VSCode 提供内置的快捷键编辑界面,可直观查看、搜索并修改当前绑定,所有更改将自动写入用户级 keybindings.json 文件。
1、按下 Cmd + Shift + P 打开命令面板。
2、输入并选择 Preferences: Open Keyboard Shortcuts (JSON)。
3、若文件为空,VSCode 会自动创建一个空数组;若已有条目,保留原有结构,在数组内添加新对象。
4、每个快捷键条目需包含 "key"、"command" 两个必需字段,可选添加 "when" 条件限定符。
直接编辑 JSON 文件适用于批量配置、版本控制同步或高级条件判断,支持完全自由的语法结构和注释(需使用 // 注释格式)。
1、按下 Cmd + Shift + P,输入 Preferences: Open Settings (JSON) 并回车。
2、在设置文件末尾找到或新建 "keybindings" 字段,其值为一个 JSON 数组。
3、在该数组中插入如下格式的对象:
{"key": "ctrl+enter", "command": "editor.action.insertLineAfter", "when": "editorTextFocus && !editorReadonly"}
4、保存文件后,新绑定立即生效,无需重启编辑器。
当新绑定与现有快捷键冲突时,VSCode 默认优先执行最后定义的条目;但显式禁用原绑定可避免不可预期的行为,尤其在跨平台同步配置时更可靠。
1、打开命令面板,执行 Preferences: Open Keyboard Shortcuts(UI 界面版)。
2、在搜索框中输入待禁用的原始快捷键,例如 cmd+d。
3、右键点击对应条目,在上下文菜单中选择 Remove Keybinding。
4、该操作会在 keybindings.json 中生成一条带 "command": "-editor.action.addSelectionToNextFindMatch" 的禁用记录。
“when” 子句用于限定快捷键仅在满足特定编辑器状态时生效,例如仅在 Markdown 文件中启用预览切换,或仅在调试模式下响应断点操作。
1、查阅官方文档中的 when clause contexts 列表,确认所需条件关键字,如 editorLangId == 'python' 或 inDebugMode。
2、在 keybindings.json 新增条目中添加 "when" 字段,值为字符串形式的布尔表达式。
3、组合多个条件时使用 &&(且)、||(或)、!(非),不支持括号分组。
4、示例:使 Ctrl+Alt+L 仅在终端聚焦且非 PowerShell 时格式化 Shell 命令:
{"key": "ctrl+alt+l", "command": "workbench.action.terminal.clear", "when": "terminalFocus && terminalProcessSupported && !terminalShellType == 'PowerShell'"}
将自定义 keybindings.json 导出为独立文件,可规避用户设置文件混杂风险,并便于在不同机器间迁移或协作共享。
1、在 VSCode 用户数据目录中定位 keybindings.json 路径:
~/Library/Application Support/Code/User/keybindings.json(macOS)。
2、复制该文件并重命名为 my-keybindings.json,存至云同步文件夹或 Git 仓库。
3、在目标设备上,关闭 VSCode,将备份文件内容粘贴至对应路径下的 keybindings.json 中。
4、重新启动 VSCode 后,全部自定义映射即刻加载,包括带 when 条件的高级绑定。
以上就是VSCode键盘映射(Keybindings)自定义完全指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号