0

0

怎样在VSCode中设置键盘快捷键?提高编码效率的技巧

雪夜

雪夜

发布时间:2025-07-04 22:04:01

|

1143人浏览过

|

来源于php中文网

原创

自定义vscode键盘快捷键的两种主要方式是通过用户界面(ui)操作和直接编辑 keybindings.json 文件。通过ui操作:打开vscode,点击左下角齿轮图标,选择“键盘快捷方式”或使用 ctrl+k ctrl+s,搜索命令后点击加号设置快捷键组合,或双击已有的快捷键进行修改。直接编辑 keybindings.json 文件:在键盘快捷方式界面右上角点击“打开键盘快捷方式(json)”图标,进入文件后以json格式添加或修改快捷键,包括 key、command 和 when 条件,例如 { "key": "ctrl+alt+f", "command": "editor.action.formatdocument", "when": "editortextfocus" }。找到命令id的方法包括在ui界面悬停查看、使用命令面板(ctrl+shift+p)查看括号内的id,或查阅扩展文档。设置时需注意避免快捷键冲突,可通过覆盖或使用 when 子句精确控制生效条件。最佳实践包括从常用功能开始设置、避免过度配置、保持一致性、定期备份配置,并根据工作流变化持续优化调整。

怎样在VSCode中设置键盘快捷键?提高编码效率的技巧

在VSCode中设置键盘快捷键,核心就是通过修改 keybindings.json 文件,或者直接在图形界面里操作。这就像给你的编码工具箱装上了一套专属的变速箱,能让你的手指始终保持在键盘上,大幅减少鼠标操作,从而显著提升编码效率。

怎样在VSCode中设置键盘快捷键?提高编码效率的技巧

解决方案

要自定义VSCode的键盘快捷键,你有两种主要方式:

怎样在VSCode中设置键盘快捷键?提高编码效率的技巧
  1. 通过用户界面(UI)操作:

    • 打开VSCode,点击左下角的齿轮图标(管理),选择“键盘快捷方式”(或者直接使用快捷键 Ctrl+K Ctrl+S)。
    • 你会看到一个搜索框,在这里可以搜索你想要设置快捷键的命令,比如“格式化文档”或“切换终端”。
    • 找到对应的命令后,将鼠标悬停在其上,点击左侧的加号图标。
    • 此时会弹出一个小窗口,让你按下想要的快捷键组合。输入后按回车确认即可。
    • 如果你想修改已有的快捷键,也可以在列表中找到它,双击或右键点击进行编辑。
  2. 直接编辑 keybindings.json 文件:

    怎样在VSCode中设置键盘快捷键?提高编码效率的技巧
    • 同样通过 Ctrl+K Ctrl+S 打开键盘快捷方式界面。
    • 在界面的右上角,你会看到一个“打开键盘快捷方式(JSON)”的图标,点击它就会打开 keybindings.json 文件。
    • 这个文件是一个JSON数组,每个对象代表一个快捷键设置。一个典型的设置包括 key(快捷键组合)、command(要执行的命令ID)和可选的 when(上下文条件)。
    • 示例:
      [
          {
              "key": "ctrl+alt+f",
              "command": "editor.action.formatDocument",
              "when": "editorTextFocus"
          },
          {
              "key": "ctrl+shift+t",
              "command": "workbench.action.terminal.toggleTerminal",
              "when": "editorFocus || terminalFocus"
          }
      ]

      上面这个例子,第一个是设置 Ctrl+Alt+F 为格式化文档,并且只有当编辑器有焦点时才生效。第二个是 Ctrl+Shift+T 用于切换终端,无论编辑器还是终端有焦点都可以。直接在这里添加或修改,保存文件后就会立即生效。我个人更倾向于直接编辑JSON文件,因为这样可以更精确地控制 when 条件,而且复制粘贴也方便。

为什么自定义快捷键是提升编码效率的“秘密武器”?

说实话,很多人可能觉得鼠标点点也挺快的,或者记住那么多快捷键太麻烦了。但我觉得,自定义快捷键远不止“快那么一点点”这么简单。它更像是一种思维模式的转变,把你的手从鼠标上解放出来,让你的大脑和手指形成一种流畅的协作。想象一下,你的思绪正随着代码飞舞,突然要格式化一下,或者切换个文件,如果每次都要去摸鼠标、找菜单,那种心流(flow)瞬间就被打断了。而一个自定义的快捷键,就像你身体的延伸,一个指令下去,动作就完成了,你的思维可以持续在代码逻辑上。

我个人就有很多常用的快捷键,比如快速注释、快速复制一行、甚至是一些特定插件的命令。一开始确实需要一点时间去适应和记忆,甚至会犯一些“肌肉记忆”的错误。但一旦形成习惯,那种效率提升是肉眼可见的。你不再需要思考“这个功能在哪儿”,而是直接“按下去”,这种无缝的感觉,能让你更专注于解决问题本身,而不是工具的使用。它真正做到了让工具“隐形”,只留下你的创造力。

如何找到并利用VSCode的“隐藏”命令ID?

要设置快捷键,你得知道你想执行的命令对应的“ID”是什么,就像你知道一个人的名字才能叫他一样。这些命令ID有时候确实有点“隐藏”,但找到它们并不难。

VisualizeAI
VisualizeAI

用AI把你的想法变成现实

下载

最直接的方法是在“键盘快捷方式”的UI界面里找。你搜索一个功能,比如“切换侧边栏”,当鼠标悬停在对应的命令上时,它的命令ID通常会显示出来,比如 workbench.action.toggleSidebarVisibility

另一个非常实用的技巧是使用命令面板(Ctrl+Shift+P)。当你打开命令面板并输入你想要执行的操作时,比如“格式化文档”,命令面板会列出相关的命令。很多时候,命令后面括号里就会直接显示它的ID,比如 Format Document (editor.action.formatDocument)。这是一个我经常用的方法,因为它既能找到命令,又能直接看到ID,一举两得。

此外,如果你安装了某个扩展,想为其设置快捷键,通常这些扩展的官方文档或GitHub页面上会列出它们提供的命令ID。开发者通常会把这些信息放在“贡献点”(contributions)或“命令”(commands)部分。有时候,你需要自己去探索一下,比如试着在命令面板里输入扩展名,看看它会列出哪些命令。

设置快捷键时有哪些“坑”和最佳实践?

设置快捷键的过程中,确实会遇到一些小麻烦,但也有很多方法可以避免它们,让你的配置更顺手。

最大的“坑”就是快捷键冲突。你设置了一个快捷键,结果发现它和VSCode内置的某个功能冲突了,或者和你安装的某个扩展的快捷键冲突了。这时候,你按下去可能不是你想要的结果,或者两个功能都想响应,导致行为不确定。解决冲突的方法,在UI界面里,VSCode会明确告诉你哪个快捷键冲突了,你可以选择覆盖。而在 keybindings.json 里,你需要利用 when 子句来精确控制快捷键的生效条件。

关于 when 子句,这绝对是 keybindings.json 里最强大也最容易被忽视的部分。它决定了你的快捷键在什么上下文(context)下才有效。比如:

  • "when": "editorTextFocus":只在文本编辑器有焦点时生效。
  • "when": "terminalFocus":只在终端有焦点时生效。
  • "when": "explorerViewletFocus":只在文件管理器有焦点时生效。
  • "when": "editorTextFocus && !findWidgetVisible":在编辑器有焦点,并且查找/替换框不可见时生效。
  • "when": "debugState == 'running'":只在调试器运行时生效。 灵活运用 when 子句,可以让你为同一个快捷键设置不同的行为,比如 Ctrl+D 在编辑器里可能是选中下一个相同单词,但在终端里可能就是删除光标后的内容。

最佳实践方面,我建议:

  1. 从常用功能开始: 不要一开始就想着把所有功能都设置快捷键。先从你每天都会用几十次的功能开始,比如保存、格式化、切换文件、打开终端、运行调试等等。这些是投入回报率最高的。
  2. 避免过度: 并不是所有操作都需要快捷键。有些功能可能一星期才用一次,为它专门设置一个快捷键并记忆,反而会增加你的认知负担。鼠标点一下可能更快。
  3. 保持一致性: 尽量让你的快捷键设置保持一定的逻辑和一致性。比如,所有与“打开”相关的操作都用 Ctrl+O 开头,所有与“切换”相关的都用 Ctrl+TabCtrl+Shift+T 变体。
  4. 备份你的配置: keybindings.json 是你的个性化配置,建议定期备份,或者使用VSCode的设置同步功能,这样换电脑或重装系统时,你的“效率利器”也能快速恢复。
  5. 多尝试,多调整: 你的工作流会随着时间变化,你的快捷键设置也应该随之调整。不要害怕尝试新的组合,或者删除那些你不再使用的。这是一个持续优化的过程。

相关专题

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

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

411

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的详细内容,可以访问本专题下面的文章。

309

2023.10.13

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

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

74

2025.09.10

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

430

2024.06.27

vscode
vscode

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

584

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

221

2023.07.21

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.5万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.4万人学习

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

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