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

自定义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有时候确实有点“隐藏”,但找到它们并不难。

最直接的方法是在“键盘快捷方式”的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+Tab 或 Ctrl+Shift+T 变体。
  4. 备份你的配置: keybindings.json 是你的个性化配置,建议定期备份,或者使用VSCode的设置同步功能,这样换电脑或重装系统时,你的“效率利器”也能快速恢复。
  5. 多尝试,多调整: 你的工作流会随着时间变化,你的快捷键设置也应该随之调整。不要害怕尝试新的组合,或者删除那些你不再使用的。这是一个持续优化的过程。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享