如何为VSCode自定义键盘快捷键以适应个人习惯【教程】

浅宇吖_4778

浅宇吖_4778

2026-01-22

933人浏览

原创

VSCode快捷键可通过编辑keybindings.json自定义,需正确设置key、command和when字段;图形界面功能有限,推荐直接修改JSON文件以确保可靠性。

如何为vscode自定义键盘快捷键以适应个人习惯【教程】

VSCode 的快捷键不是写死的,所有默认绑定都可以被覆盖或新增,关键在于理解 keybindings.json 的结构和优先级规则。

怎么打开并编辑 keybindings.json

直接改 JSON 比图形界面更可靠,尤其涉及组合键、冲突覆盖或条件触发时。图形界面(Ctrl+K Ctrl+S)只能增删简单条目,且不显示底层逻辑。

  • 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Preferences: Open Keyboard Shortcuts (JSON) 回车
  • 首次打开会是空数组 [];已有自定义项则显示为对象数组
  • 不要手动修改 keybindings.json 的路径或文件名,VSCode 会自动识别并热重载

添加新快捷键的基本格式

每条绑定是一个对象,至少包含 key 和 command 字段;when 是可选但高频使用的上下文条件。

  • key 必须是字符串,如 "ctrl+alt+o"(注意用英文小写、+ 连接、无空格)
  • command 是 VSCode 内部命令 ID,比如 "editor.action.formatDocument" 或扩展提供的 "python.sortImports"
  • when 用于限定生效场景,例如 "editorTextFocus && !editorReadonly" 表示仅在可编辑的编辑器中生效
  • 示例:把保存快捷键从 Ctrl+S 改成 Ctrl+Alt+S:
    [{"key": "ctrl+alt+s","command": "workbench.action.files.save"}]

常见冲突与覆盖失败的原因

VSCode 按“从上到下”顺序匹配快捷键,但实际执行取决于 when 条件是否满足,而非单纯位置先后。很多“加了没反应”其实是条件不匹配。

windows-screenshot-ocr
windows-screenshot-ocr

Windows全屏截图(自动标记鼠标位置)+ 原生OCR文字识别。本地运行,无需联网和API Key,适用于截图分析和自动化OCR场景。

下载
  • 检查是否被其他扩展劫持:在命令面板运行 Developer: Toggle Developer Tools,切换到 Console,按你的快捷键,看是否有报错或提示“command not found”
  • 确认命令 ID 拼写准确——大小写敏感,且不能多空格或下划线误写为短横;可用 Ctrl+Shift+P 输入命令名模糊搜索来验证
  • 避免使用已被系统全局占用的组合键(如 Ctrl+Alt+Del、Cmd+Space),这类键通常根本不会传入 VSCode
  • macOS 上 cmd 对应 meta,Windows/Linux 上 ctrl 对应 ctrl,但某些键盘布局(如非美式)可能需要额外映射

进阶技巧:复用与动态行为

原生不支持“按下一次执行 A,再按一次执行 B”,但可通过扩展或参数化命令逼近效果。

  • 部分命令支持 args,比如切换终端可见性:
    {"key": "ctrl+`","command": "workbench.action.terminal.toggleTerminal"}
  • 想让快捷键只在特定语言下生效?用 when 匹配语言 ID:"resourceLangId == 'python'"
  • 多个快捷键绑定同一命令时,VSCode 会全部响应,无需额外配置
  • 如果某扩展提供了命令但没暴露在命令面板里,可在其 package.json 的 contributes.commands 段查 ID,或查看扩展文档

真正麻烦的从来不是加一条快捷键,而是搞清它为什么没触发——多数时候问题出在 when 条件太窄、命令 ID 错位,或者被更高优先级的绑定静默吞掉了。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2255

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3642

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1216

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

4199

7

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1878

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

3004

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

6284

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

6269

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

7834

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习