我的常用 VSCode 快捷键

让工具更趁手✨

你的 VSCode 助理

Ctrl + Shift + P

如果你需要在 VSCode 里做某件事情,可以按下 Ctrl + Shift + P 搜索,比如你想更改设置,但是手动打开 settings.json 很麻烦,那么你可以:

open user setting json

按下回车之后,settings.json 就在你眼前了,如果需要经常执行此动作,那么可以在 Keyboard Shortcuts(Ctrl-k Ctrl-s 打开)中为它绑定快捷键:

open user setting json

布局

隐藏 Activity Bar 和 Status Bar

我为开关 Activity Bar 和 Status Bar 配置了图中的快捷键,隐藏此二者可以让界面更简洁.

bar visibility

并置终端 tab 和代码 tab

Ctrl+Shift+P → 在命令面板中检索 Terminal: Move Terminal to Editor Area ,即可将当前终端放置到 Editor Area,其他类似操作还有 Move Terminal to Panel, Create New Terminal in Editor Area…当然,可以为你经常使用的操作绑定快捷键.

一种适用的场景是:如果你在学习某种编程语言,而这种语言(比如 Haskell, Lisp, Python…)刚好有REPL,你就可以在 Editor Area 切分,一半放代码,一半放 Terminal REPL,如果需要,可以编辑文件,然后在 REPL 中导入代码文件(像Haskell ghci中的:l foo.hs),这样就很方便,可以通过 Ctrl+1/Ctrl+2 在代码 tab 和终端 tab 之间做 Focus 的切换.

还有一种类似的实现:通过 Ctrl+Shift+B 打开 Secondary Side Bar,把终端拖到 Secondary Side Bar.

vscode_layout

编辑区域

彩虹括号导引线

在 Settings(GUI) 中键入 @id:editor.bracketPairColorization.enabled @id:editor.guides.bracketPairs,选择你需要的选项,editor.bracketPairColorization.enabled 是默认启用的,editor.guides.bracketPairs 是默认关闭 (false) 的,可以选择 true 或者 active 启用, true 的效果是所有括号都配有引导线, active 的效果是只有最接近光标的外层括号有引导线,我觉得 active 就足够了,效果如下:

rainbow_guideline

Ctrl+Shift+\,可以在距离光标最近的配对括号之间跳转,可以用来检查表达式嵌套的层级,对应 Vim Normal Mode 下的%. 如果你的 Focus 在 Terminal,那么可以使用 Ctrl+Shift+\ 在终端 Tab 之间跳转.

快捷键

  1. Tip

    将光标悬停在 GUI 的 button 上,如果该 button 有对应的快捷键,弹出的悬窗会呈现快捷键信息(很多程序都遵循这个设计哲学),所以如果发现自己经常点击某个键,不妨停下来看看它对应的热键是什么.

  2. Ctrl-b:toggle side bar.

    side bar 是文件浏览器、插件市场搜索页所占据的板块.

    这里对应的一个故事是,有人给 VSCode 提了一个issue,希望 VSCode 提供一个类似 toggleExplorerVisibility 配置项,然后一个用户回复 “Ctrl-B to toggle side bar” 并关闭了此issue. 为什么我会知道这件事情,因为我也以为我的需求是 toggleExplorerVisibility,结论是:明确每个组件的称呼很重要😣.

  3. Alt-←/→:回退到上一光标位置/前进到下一光标位置

    比较有用的一个情景是:和 F12 配合,在函数的调用链里导航.

  4. Ctrl-[/]:对光标所在行左移/右移缩进.

    同 Vim Visual Mode 下的 >/<. Vim 的这个键位我用着一直不是很顺,因为选中之后只能进行一次操作,如果想再做一次缩进,那要再选一次,虽然是可以2 >这样向右缩进两个tab,但是对我来说还是没有那么顺.

  5. Alt-↑/↓:上移/下移光标所在行.

  6. Shift-Alt-f: format 代码,前提是配置好了 formatter.

  7. Ctrl-(Shift-)Enter: 在当前光标所在行下(上)方新建一行,光标跳转到新行行首.

    同 Vim Normal Mode 下的 o(O).

    来自 2025-02-19 的更新,VSCode 更新后,Copilot Suggestions (Github Copilot: Open Completion Panel)占据了 Ctrl-Enter,可以在 Keyboard Shortcuts 做修改.
  8. Ctrl-k Ctrl-w

    关闭 Editor Area 中的所有 tab.

  9. 冲突避免

    直接的冲突都会在进行键位绑定的时候提示你,但是下图这样的情况,即 leading key = 其他快捷键,是不会显示冲突的,但这时候 Copy 事实上已经废了,因为 Ctrl-c 将作为 leading key,按下它后 VSCode 将继续等待 chord key,你可以在状态栏中观察这个事实.

    keybinding conflict

扩展

  1. Bluloco Light Theme (Author: Umut Topuzoğlu)

    非常漂亮的主题.

  2. Remove empty lines (Author: Alexander)

    删除选区内的所有空行. 可以通过 Ctrl + Shift + P 调用,也可以为其绑定快捷键.

杂项

一些写在 User Settings (JSON) 里的小配置,包含:

  • 改变悬停窗口(如 Language Server 提供的函数描述)的背景色;

  • 改变默认缩放等级;

  • 彩虹括号引导线设置.

{
    "workbench.colorCustomizations": {
        "editorHoverWidget.background": "#edeeee", // 设置悬停提示的背景颜色
    },

    "window.zoomLevel": 1,
    "editor.guides.bracketPairs": "active"
}

一些 Windows 的实用快捷键

(🪟 代表 Windows 徽标键.)

  1. 🪟

    按下 Windows 徽标键后,键入文本可以对应用 / 设置 / 文件 / … 进行搜索,找到匹配项后回车打开.

    windows search
  2. 🪟 + 方向键

    Win + ↑:当前 Focus 窗口全屏
    Win + ←/→:窗口左右贴靠
    Win + ↓:退出全屏 / 最小化

  3. 🪟 + v

    展示剪切板的历史记录(不知道最大容量是多少,但是关机会丢失记录),同时可以在这里选择输入表情、符号、颜文字等.

    windows + v clipboard
  4. Alt-Tab

    在当前桌面切换窗口.

  5. Ctrl-(Shift-)Tab

    在当前应用(浏览器、VSCode)切换 tab,不同应用对待选 tab 的排序不同,有些按访问顺序排列(VSCode),有些按生成顺序排列(edge).

  6. Alt-F4

    关闭当前窗口.

  7. Ctrl-w

    edge 中关闭当前 tab.

Licensed under CC BY-NC-SA 4.0
Wish You a Nice Day!
Built with Hugo
Theme Stack designed by Jimmy