0

0

如何为vscode添加新的键盘快捷键映射【教程】

紅蓮之龍

紅蓮之龍

发布时间:2026-01-22 15:44:03

|

892人浏览过

|

来源于php中文网

原创

VS Code 的键盘快捷键映射全部存储在用户级 keybindings.json 文件中,需点击设置页右上角“打开设置(JSON)”图标手动编辑;该文件默认为空数组[],添加快捷键需按固定格式写入对象,含 key、command 必填字段及可选 when 条件;command ID 应通过命令面板悬停或右键复制获取;修改后保存即生效。

如何为vscode添加新的键盘快捷键映射【教程】

快捷键配置文件在哪,怎么打开

VS Code 的键盘快捷键映射全部存在 keybindings.json 文件里,不是通过图形界面“设置”页直接编辑的——点开设置页右上角的“打开设置(JSON)”图标(花括号 {}),就能直接打开它。这个文件是用户级生效的,优先级高于默认快捷键和扩展自带的绑定。

常见误区:在设置页里搜“keyboard shortcuts”点进去,看到的是只读的可视化列表;真正要改映射,必须进 JSON 文件。如果没看到该文件内容,说明你还没自定义过快捷键,此时它是空数组 [],可以放心往里加。

添加一条新快捷键的基本写法

每条快捷键是一组对象,包含 keycommand 两个必填字段,可选 when(触发条件)。格式固定,不能少引号、逗号或大括号。

  • key:按键组合,用英文短横线连接,比如 "ctrl+shift+p""alt+f1";Mac 用户注意用 cmd 而非 ctrl
  • command:目标命令 ID,不是菜单名。例如打开命令面板是 "workbench.action.showCommands",不是“显示命令面板”
  • when:字符串表达式,控制何时生效,比如 "editorTextFocus && !editorReadonly" 表示“光标在可编辑编辑器中时”

示例:把 ctrl+enter 绑定为在当前行下方插入新行(原生命令):

[
  {
    "key": "ctrl+enter",
    "command": "editor.action.insertLineAfter",
    "when": "editorTextFocus"
  }
]

怎么查到某个功能对应的 command ID

别猜,也别去文档里翻——VS Code 自带命令 ID 检索。按 ctrl+shift+p(Win/Linux)或 cmd+shift+p(Mac)打开命令面板,输入你要找的功能(比如“duplicate line”),鼠标悬停在命令上,状态栏会显示完整 ID,如 editor.action.duplicateSelection;或者右键该命令 → “Copy Command ID”。

笔尖Ai写作
笔尖Ai写作

AI智能写作,1000+写作模板,轻松原创,拒绝写作焦虑!一款在线Ai写作生成器

下载

另一个办法:打开命令面板 → 输入 Developer: Toggle Developer Tools → 控制台里执行 console.log(monaco.editor.getActions())(仅限内置编辑器动作),但日常推荐前一种。

注意:有些命令只在特定上下文有效,比如 workbench.action.terminal.toggleTerminal 在终端未加载时可能不响应,这不是配置错,而是 VS Code 的懒加载机制导致的。

冲突检测和覆盖默认快捷键

VS Code 会在设置页的快捷键面板里标红显示冲突项,但 JSON 编辑器里不会自动提示。如果你新加的快捷键没反应,先检查是否被已有绑定覆盖了——打开快捷键面板,搜你的 key,看有没有其他命令占着。

  • 想覆盖默认绑定?直接在 keybindings.json 里加新条目即可,后加的同 key 条目会生效(顺序无关,但必须确保 when 条件匹配)
  • 禁用某默认快捷键?把它的 command 设为 null,例如:{"key":"ctrl+shift+k","command":null}
  • 多个扩展可能注册相同 key,此时需靠 when 区分,比如限制只在 Markdown 文件生效:"when": "editorTextFocus && editorLangId == 'markdown'"

容易忽略的一点:修改 keybindings.json 后无需重启,保存即生效,但若绑定涉及新安装的扩展,得等扩展完全激活(比如刚装完 Prettier,首次格式化命令可能要等几秒才可用)。

相关专题

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

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

417

2023.08.07

json是什么
json是什么

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

533

2023.08.23

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

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

310

2023.10.13

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

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

75

2025.09.10

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

232

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

437

2024.03.01

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

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

278

2023.08.03

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

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

212

2023.09.04

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号