VS Code 快捷键与键盘操作速查
以 Windows 为主整理 VS Code 高频快捷键、多光标、代码导航、重构、搜索、窗口管理与键盘编辑技巧,并标注关键跨平台差异。
[!info] related notes
- 前置笔记:
- 相关 MOC:
- 相关资源: vscode
VS Code 快捷键与键盘操作速查
目标
用尽量少的一组快捷键覆盖日常开发中最频繁的动作:移动代码、复制代码、多光标批量编辑、符号级重构、快速导航、搜索、修复报错和窗口切换。
本文以 Windows 默认键位为主。macOS 在高频操作中给出对应键位;Linux 与 Windows 有部分默认键位不同,尤其是“复制行”和“增加多光标”,不要机械把 Windows/Linux 当成完全一致。
[!tip] 最重要的原则 不需要一次背完整张快捷键表。先把“编辑 → 多光标 → 导航 → 重构”四组练成肌肉记忆,其他命令忘了就用
Ctrl + Shift + P搜。
第一优先级:最值得先记住
| 动作 | Windows | macOS | 说明 |
|---|---|---|---|
| 多光标鼠标添加 | Alt + Click | Option + Click | 在任意位置追加光标 |
| 选择下一个相同内容 | Ctrl + D | Cmd + D | 重复按可逐个扩展选择 |
| 选中全部相同内容 | Ctrl + Shift + L | Cmd + Shift + L | 对当前选中文本的所有出现位置创建选择 |
| 移动行/代码块 | Alt + ↑ / ↓ | Option + ↑ / ↓ | 不需要先选中整行 |
| 复制行/代码块 | Shift + Alt + ↑ / ↓ | Shift + Option + ↑ / ↓ | Windows 默认键位 |
| 删除当前行 | Ctrl + Shift + K | Cmd + Shift + K | 无需选整行 |
| 行注释切换 | Ctrl + / | Cmd + / | 对当前行或多行选择生效 |
| 快速打开文件 | Ctrl + P | Cmd + P | 比鼠标点文件树快很多 |
| 命令面板 | Ctrl + Shift + P / F1 | Cmd + Shift + P / F1 | 忘记任何命令时的统一入口 |
| 跳到定义 | F12 | F12 | TypeScript/React 阅读源码高频 |
| 返回上一个位置 | Alt + ← | Ctrl + - | 配合 F12 使用 |
| 重命名符号 | F2 | F2 | 语义级 rename,优先于全文替换 |
| Quick Fix | Ctrl + . | Cmd + . | 类型错误、import、重构建议等 |
| 打开/关闭终端 | Ctrl + ` | Ctrl + ` | 编辑器与终端快速切换 |
多光标与批量编辑
鼠标追加光标
Windows / Linux: Alt + Click
macOS: Option + Click
适合同时编辑几个位置不同、内容也不一定相同的区域。
例如:
const first = 1;
const second = 2;
const third = 3;
在 first 和 third 处分别放置光标后,输入、删除、方向键都会同时作用。
连续选择相同内容
Ctrl + D
第一次选中当前单词,再次按会选择下一个相同内容,适合小范围、可控的文本级批量修改。
Ctrl + K, Ctrl + D
当下一个匹配不是你想改的,可以把最后一个选择移动到更后面的匹配,相当于在多光标选择过程中“跳过这个”。
Ctrl + U
撤销最后一次光标/选择操作,不会像普通 Undo 那样直接撤销代码修改。
一次选择全部出现位置
Ctrl + Shift + L
为当前选中文本的每个出现位置创建选择。
Ctrl + F2
选择当前单词的全部出现位置。
[!warning] 文本替换不等于语义重构 修改变量、函数、类型等代码符号时,如果语言服务可以理解它,优先使用
F2Rename Symbol。Ctrl + D/Ctrl + Shift + L是文本级操作,可能误改字符串、注释或同名但无关的标识符。
多行末尾同时创建光标
先选中多行,然后:
Shift + Alt + I
会在每一行末尾创建一个光标。给多行批量补逗号、分号、相同后缀时非常方便。
键盘向上/向下增加光标
Windows 默认:
Ctrl + Alt + ↑
Ctrl + Alt + ↓
macOS 默认:
Option + Cmd + ↑
Option + Cmd + ↓
Linux 当前默认与 Windows 不完全相同,通常是:
Shift + Alt + ↑
Shift + Alt + ↓
显卡驱动或桌面环境可能抢占这些组合键;冲突时直接在 Keyboard Shortcuts 中重新绑定。
列选择 / Box Selection
Shift + Alt + 鼠标拖动
可以按“矩形区域”选中多行中的同一列,适合结构规整的数据、对象字段、表格文本等。
行与代码块操作
移动当前行
Alt + ↑
Alt + ↓
光标只要位于该行即可;如果选中了多行,则整个代码块一起移动。
复制当前行
Windows:
Shift + Alt + ↑
Shift + Alt + ↓
macOS:
Shift + Option + ↑
Shift + Option + ↓
[!note] Linux 差异 VS Code 当前 Linux 默认的 Copy Line Up/Down 是
Ctrl + Shift + Alt + ↑ / ↓,而Shift + Alt + ↑ / ↓默认用于增加多光标。
删除、插入与选择整行
| 动作 | Windows |
|---|---|
| 删除当前行 | Ctrl + Shift + K |
| 在当前行下方插入新行 | Ctrl + Enter |
| 在当前行上方插入新行 | Ctrl + Shift + Enter |
| 选择当前行 | Ctrl + L |
还有两个很容易忽视但很省操作的行为:
Ctrl + C 当前没有选区时,复制整行
Ctrl + X 当前没有选区时,剪切整行
所以复制/移动一行通常根本不需要先用鼠标把整行拖选出来。
注释与格式化
| 动作 | Windows |
|---|---|
| 切换行注释 | Ctrl + / |
| 切换块注释 | Shift + Alt + A |
| 格式化整个文档 | Shift + Alt + F |
| 格式化选中区域 | Ctrl + K, Ctrl + F |
选择与纯键盘文本编辑
这些不是所有都属于 VS Code 独有能力,但组合起来可以显著减少鼠标使用。
| 动作 | Windows |
|---|---|
| 行首 / 行尾 | Home / End |
| 文件开头 / 结尾 | Ctrl + Home / Ctrl + End |
| 按单词向左 / 向右移动 | Ctrl + ← / → |
| 按单词扩展选择 | Ctrl + Shift + ← / → |
| 删除前一个 / 后一个单词 | Ctrl + Backspace / Ctrl + Delete |
| 扩大语法选择范围 | Shift + Alt + → |
| 缩小语法选择范围 | Shift + Alt + ← |
| 跳到匹配括号 | Ctrl + Shift + \ |
其中 Shift + Alt + → / ← 是非常适合 TypeScript / React 的高级操作:VS Code 会根据语法结构逐级扩大/缩小选择,而不只是机械地按字符选中。
TypeScript / React 代码导航与重构
| 动作 | Windows | 用途 |
|---|---|---|
| 跳到定义 | F12 | 打开类型、函数、变量的定义位置 |
| Peek Definition | Alt + F12 | 不离开当前文件,在内嵌窗口查看定义 |
| 查找引用 | Shift + F12 | 查看符号在项目中的使用位置 |
| Rename Symbol | F2 | 语言服务理解下的安全重命名 |
| Quick Fix | Ctrl + . | 自动 import、修复类型问题、重构建议等 |
| 触发补全 | Ctrl + Space | 手动打开 IntelliSense |
| 参数提示 | Ctrl + Shift + Space | 查看函数参数签名 |
| 显示 Hover | Ctrl + K, Ctrl + I | 纯键盘查看类型/文档信息 |
推荐阅读源码循环
F12 跳到定义
Alt + ← 返回
Alt + F12 只想偷看定义,不离开当前上下文
Shift + F12 反过来看谁在使用它
学习 TypeScript 类型声明、React Hook overload、第三方库源码时,这组尤其高频。
文件、符号与项目导航
| 动作 | Windows | 用途 |
|---|---|---|
| Quick Open 文件 | Ctrl + P | 按文件名快速定位 |
| 当前文件符号 | Ctrl + Shift + O | 函数、类、变量、方法间快速跳转 |
| 工作区符号 | Ctrl + T | 跨项目搜索符号 |
| 跳转指定行 | Ctrl + G | 输入行号直接定位 |
| 命令面板 | Ctrl + Shift + P / F1 | 搜索所有 VS Code 命令 |
| 最近编辑器 | Ctrl + Tab | 按最近使用顺序切换文件 |
| 后退 / 前进 | Alt + ← / → | 在跳转历史中移动 |
[!tip] 文件树不是主要导航方式 熟练后,
Ctrl + P+F12+Alt + ←往往比反复在 Explorer 中展开目录更快。
查找与替换
| 动作 | Windows |
|---|---|
| 当前文件查找 | Ctrl + F |
| 当前文件替换 | Ctrl + H |
| 全项目查找 | Ctrl + Shift + F |
| 全项目替换 | Ctrl + Shift + H |
| 将当前查找结果全部变成选择 | Alt + Enter |
查找框中常用:
Alt + C 大小写敏感
Alt + W 全词匹配
Alt + R 正则表达式
错误定位与修复
Ctrl + Shift + M 打开 Problems
F8 下一个 Error / Warning
Shift + F8 上一个 Error / Warning
Ctrl + . 对当前位置执行 Quick Fix
一个很高效的“纯键盘修错循环”是:
F8 → 看错误 → Ctrl + . → 选择修复 → F8 → 下一个错误
编辑器窗口与终端
| 动作 | Windows | 用途 |
|---|---|---|
| 开关集成终端 | Ctrl + ` | 编辑代码与运行命令之间切换 |
| 开关侧边栏 | Ctrl + B | 给代码区更多空间 |
| Explorer | Ctrl + Shift + E | 聚焦文件浏览器 |
| 拆分编辑器 | Ctrl + \ | 左右并排看两个文件 |
| 聚焦第 1/2/3 编辑器组 | Ctrl + 1 / 2 / 3 | 分屏后纯键盘切换 |
| 重新打开刚关闭编辑器 | Ctrl + Shift + T | 类似浏览器恢复标签页 |
| Zen Mode | Ctrl + K, Z | 专注代码 |
| 打开快捷键设置 | Ctrl + K, Ctrl + S | 查看、搜索、重绑快捷键 |
代码折叠
| 动作 | Windows |
|---|---|
| 折叠当前区域 | Ctrl + Shift + [ |
| 展开当前区域 | Ctrl + Shift + ] |
| 折叠全部 | Ctrl + K, Ctrl + 0 |
| 展开全部 | Ctrl + K, Ctrl + J |
阅读长 TypeScript 类型声明、React 组件或配置文件时很实用。
三组推荐肌肉记忆组合
1. 快速复制一段代码再修改
选中代码块
→ Shift + Alt + ↓ 复制
→ Alt + ↓ / ↑ 调整位置
→ Ctrl + D 逐个选中要修改的重复文本
→ 输入新内容
2. 安全修改一个代码符号
光标放在变量 / 函数 / 类型名上
→ F2
→ 输入新名字
→ Enter
如果只是几个非语义文本位置,再改用 Ctrl + D。
3. 阅读第三方类型声明
F12 跳进定义
Ctrl + Shift + O 当前声明文件中找符号
Alt + ← 返回调用处
Alt + F12 下次只 Peek,不离开当前文件
快捷键冲突与自定义
VS Code 的默认快捷键可能被以下内容覆盖:
- Windows / Linux 桌面环境
- NVIDIA / AMD 等显卡驱动
- 输入法
- VS Code 扩展或 Keymap extension
- 自己的
keybindings.json
遇到快捷键不生效时:
Ctrl + K,Ctrl + S打开 Keyboard Shortcuts。- 搜索命令名称,例如
Insert Cursor Below。 - 查看当前绑定和冲突。
- 必要时重新绑定为自己的习惯键位。
VS Code 的多光标鼠标修饰键默认是 Alt。如果更习惯 Ctrl + Click,可修改 editor.multiCursorModifier,或通过 Selection 菜单切换。