VS Code 的大多数操作都可以用键盘完成。真正值得记住的不是一张几百项的快捷键清单,而是几组能形成工作流的快捷键:打开文件、跳转代码、批量编辑、搜索替换、切换终端和查看问题。
本文以 VS Code 默认快捷键为准,重点列出 Windows、Linux 和 macOS 上最常用的一部分。
快捷键记法
| 写法 | 含义 |
|---|---|
Ctrl+K Ctrl+S | 先按 Ctrl+K,松开后再按 Ctrl+S,不是四个键同时按 |
↑、↓、←、→ | 方向键 |
⌘ | macOS 的 Command |
⌥ | macOS 的 Option/Alt |
⇧ | macOS 的 Shift |
⌃ | macOS 的 Control |
Windows 和 Linux 的默认快捷键大多数相同,本文合并成一列;少数 Linux 绑定不同的命令在同一个单元格内标明。macOS 单独列出。Linux 桌面环境还可能占用某些组合键,最终以 VS Code 的 Keyboard Shortcuts 编辑器显示结果为准。
最先记住的 8 个快捷键
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 命令面板 | ⌘⇧P 或 F1 | Ctrl+Shift+P 或 F1 |
| 快速打开文件 | ⌘P | Ctrl+P |
| 保存文件 | ⌘S | Ctrl+S |
| 打开终端 | ⌃反引号 | Ctrl+反引号 |
| 显示/隐藏侧边栏 | ⌘B | Ctrl+B |
| 显示/隐藏面板 | ⌘J | Ctrl+J |
| 打开设置 | ⌘, | Ctrl+, |
| 打开快捷键设置 | ⌘K ⌘S | Ctrl+K Ctrl+S |
其中最重要的是命令面板。记不住某个功能的快捷键时,按 Ctrl+Shift+P 或 ⌘⇧P,直接搜索命令名称即可。命令面板会同时显示该命令当前绑定的快捷键。
文件和窗口管理
文件操作
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 新建文件 | ⌘N | Ctrl+N |
| 打开文件 | ⌘O | Ctrl+O |
| 保存 | ⌘S | Ctrl+S |
| 另存为 | ⌘⇧S | Ctrl+Shift+S |
| 关闭当前编辑器 | ⌘W | Windows Ctrl+F4 / Linux Ctrl+W |
| 关闭当前编辑器组 | ⌘K W | Ctrl+K W |
| 关闭所有编辑器 | ⌘K ⌘W | Ctrl+K Ctrl+W |
| 重新打开刚关闭的编辑器 | ⌘⇧T | Ctrl+Shift+T |
| 保存全部文件 | ⌥⌘S | Windows Ctrl+K S / Linux 无默认快捷键 |
在实际工作中,Ctrl+P 或 ⌘P 通常比用资源管理器逐级展开目录更快。输入文件名的一部分,选择结果后按 Enter 就能打开文件。
编辑器分组
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 拆分编辑器 | ⌘\ | Ctrl+\ |
| 聚焦第一个编辑器组 | ⌘1 | Ctrl+1 |
| 聚焦第二个编辑器组 | ⌘2 | Ctrl+2 |
| 聚焦第三个编辑器组 | ⌘3 | Ctrl+3 |
| 聚焦左侧编辑器组 | ⌘K ⌘← | Ctrl+K Ctrl+← |
| 聚焦右侧编辑器组 | ⌘K ⌘→ | Ctrl+K Ctrl+→ |
| 切换当前编辑器内最近使用的文件 | ⌃Tab | Ctrl+Tab |
| 上一个编辑器 | ⌘PageUp | Ctrl+PageUp |
| 下一个编辑器 | ⌘PageDown | Ctrl+PageDown |
编辑代码
行操作
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 删除整行 | ⇧⌘K | Ctrl+Shift+K |
| 在下方插入新行 | ⌘Enter | Ctrl+Enter |
| 在上方插入新行 | ⇧⌘Enter | Ctrl+Shift+Enter |
| 向下移动当前行 | ⌥↓ | Alt+↓ |
| 向上移动当前行 | ⌥↑ | Alt+↑ |
| 向下复制当前行 | ⇧⌥↓ | Windows Shift+Alt+↓ / Linux Ctrl+Shift+Alt+↓ |
| 向上复制当前行 | ⇧⌥↑ | Windows Shift+Alt+↑ / Linux Ctrl+Shift+Alt+↑ |
| 增加缩进 | ⌘] | Ctrl+] |
| 减少缩进 | ⌘[ | Ctrl+[ |
| 跳到行首 | Home | Home |
| 跳到行尾 | End | End |
| 跳到文件开头 | ⌘↑ | Ctrl+Home |
| 跳到文件结尾 | ⌘↓ | Ctrl+End |
写代码时,最常用的组合通常是:先用 Alt+↑/↓ 调整行的位置,再用 Shift+Alt+↑/↓ 复制行,最后用格式化快捷键整理代码。
选择和多光标
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 选中当前行 | ⌘L | Ctrl+L |
| 选择下一个相同匹配项 | ⌘D | Ctrl+D |
| 选择当前选中的所有匹配项 | ⇧⌘L | Ctrl+Shift+L |
| 为选中行的行尾添加光标 | ⇧⌥I | Shift+Alt+I |
| 在下方添加光标 | ⌥⌘↓ | Windows Ctrl+Alt+↓ / Linux Shift+Alt+↓ |
| 在上方添加光标 | ⌥⌘↑ | Windows Ctrl+Alt+↑ / Linux Shift+Alt+↑ |
| 扩大选择范围 | ⌃⇧⌘→ | Shift+Alt+→ |
| 缩小选择范围 | ⌃⇧⌘← | Shift+Alt+← |
| 跳到匹配括号 | ⇧⌘\ | Ctrl+Shift+\ |
Ctrl+D 或 ⌘D 是多光标编辑的入口。例如,选中一个变量后连续按几次,可以逐个选中同名变量并同时修改。需要全部替换时,再使用 Ctrl+Shift+L 或 ⇧⌘L。
注释、格式化和折叠
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 切换行注释 | ⌘/ | Ctrl+/ |
| 切换自动换行 | ⌥Z | Alt+Z |
| 格式化整个文档 | ⇧⌥F | Windows Shift+Alt+F / Linux Ctrl+Shift+I |
| 格式化选中内容 | ⌘K ⌘F | Ctrl+K Ctrl+F |
| 快速修复 | ⌘. | Ctrl+. |
| 折叠当前代码块 | ⌥⌘[ | Ctrl+Shift+[ |
| 展开当前代码块 | ⌥⌘] | Ctrl+Shift+] |
| 折叠全部代码块 | ⌘K ⌘0 | Ctrl+K Ctrl+0 |
| 展开全部代码块 | ⌘K ⌘J | Ctrl+K Ctrl+J |
| 删除行尾空格 | ⌘K ⌘X | Ctrl+K Ctrl+X |
格式化需要当前语言有对应的格式化器。快捷键没有反应时,先确认文件语言模式和格式化扩展是否正常。
搜索和导航
在文件中搜索
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 当前文件搜索 | ⌘F | Ctrl+F |
| 当前文件替换 | ⌥⌘F | Ctrl+H |
| 下一个匹配项 | Enter | Enter |
| 上一个匹配项 | ⇧Enter | Shift+Enter |
| 选择全部匹配项 | ⌥Enter | Alt+Enter |
| 工作区搜索 | ⇧⌘F | Ctrl+Shift+F |
| 工作区批量替换 | ⇧⌘H | Ctrl+Shift+H |
| 切换大小写匹配 | ⌥⌘C | Alt+C |
| 切换正则表达式 | ⌥⌘R | Alt+R |
| 切换全字匹配 | ⌥⌘W | Alt+W |
搜索时可以先用 Ctrl+F 或 ⌘F 定位当前文件,再按 Alt+Enter 或 ⌥Enter 给所有匹配项添加光标,直接批量修改。
跳转代码
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 跳转到指定行 | ⌃G | Ctrl+G |
| 跳转到文件 | ⌘P | Ctrl+P |
| 跳转到文件中的符号 | ⇧⌘O | Ctrl+Shift+O |
| 查看当前文件所有符号 | ⌘T | Ctrl+T |
| 跳转到定义 | F12 | F12 |
| 查看定义预览 | ⌥F12 | Alt+F12 |
| 查找引用 | ⇧F12 | Shift+F12 |
| 重命名符号 | F2 | F2 |
| 显示悬停信息 | ⌘K ⌘I | Ctrl+K Ctrl+I |
| 下一个错误或警告 | F8 | F8 |
| 上一个错误或警告 | ⇧F8 | Shift+F8 |
| 返回上一个位置 | ⌃- | Windows Alt+← / Linux Ctrl+Alt+- |
| 前进到下一个位置 | ⌃⇧- | Windows Alt+→ / Linux Ctrl+Shift+- |
“跳转到定义”和“查找引用”比手动搜索文件名更适合阅读大型项目。语言服务正常运行时,按 F12 可以直接进入定义,按 Shift+F12 可以查看所有引用。
侧边栏、终端和预览
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 打开资源管理器 | ⇧⌘E | Ctrl+Shift+E |
| 打开搜索 | ⇧⌘F | Ctrl+Shift+F |
| 打开源代码管理 | ⌃⇧G | Ctrl+Shift+G |
| 打开运行和调试 | ⇧⌘D | Ctrl+Shift+D |
| 打开扩展 | ⇧⌘X | Ctrl+Shift+X |
| 切换集成终端 | ⌃反引号 | Ctrl+反引号 |
| 切换 Markdown 预览 | ⇧⌘V | Ctrl+Shift+V |
| 在侧边打开 Markdown 预览 | ⌘K V | Ctrl+K V |
| 切换全屏 | ⌃⌘F | F11 |
| 进入 Zen 模式 | ⌘K Z | Ctrl+K Z |
| 退出 Zen 模式 | Esc Esc | Esc Esc |
Zen 模式会隐藏大部分界面,只保留编辑区域。写文章、读源码或专注修改一个文件时很有用,连续按两次 Esc 即可退出。
运行、调试和任务
| 功能 | macOS | Windows/Linux |
|---|---|---|
| 开始调试/继续运行 | F5 | F5 |
| 不调试直接运行 | ⌃F5 | Ctrl+F5 |
| 切换断点 | F9 | F9 |
| 暂停调试 | F6 | F6 |
| 单步进入 | F11 | F11 |
| 运行构建任务 | ⇧⌘B | Ctrl+Shift+B |
| 打开问题面板 | ⇧⌘M | Ctrl+Shift+M |
调试时可以只记住 F5、F9 和 F6:F5 开始或继续,F9 添加或删除断点,F6 暂停程序。
一套实际工作流
阅读一个陌生项目
Ctrl+P / ⌘P 打开入口文件
Ctrl+Shift+O / ⌘⇧O 查看当前文件的函数和类
F12 跳转到定义
Shift+F12 查找引用
Alt+← / ⌃- 返回上一个位置
批量修改变量
Ctrl+F / ⌘F 搜索变量名
Alt+Enter / ⌥Enter 选中全部匹配项
输入新名称 同时修改所有光标位置
Esc 退出多光标状态
如果修改的是代码符号,优先使用 F2 重命名。它会根据语言服务识别符号范围,比普通文本替换更安全。
修改并检查代码
Ctrl+K Ctrl+S / ⌘K ⌘S 必要时查看或修改快捷键
Ctrl+. / ⌘. 应用快速修复
Shift+Alt+F / ⇧⌥F 格式化文档
Ctrl+Shift+M / ⇧⌘M 查看问题
F5 启动调试
自定义快捷键
打开快捷键设置后,可以搜索命令、查看默认绑定、修改快捷键,或者删除冲突的绑定。入口是:
Windows/Linux:Ctrl+K Ctrl+S
macOS:⌘K ⌘S
也可以在命令面板中执行 Preferences: Open Keyboard Shortcuts (JSON),直接编辑 keybindings.json。不过自定义前建议先搜索命令的默认绑定,并检查是否与操作系统或其他扩展冲突。
快捷键会受操作系统、键盘布局、扩展和当前界面焦点影响。某个快捷键没有反应时,可以按 Ctrl+Shift+P 或 ⌘⇧P 搜索命令;命令面板中的快捷键,以及 Keyboard Shortcuts 编辑器中的实际绑定,才是当前环境的准确信息。
总结
- 用
Ctrl+Shift+P或⌘⇧P打开命令面板,几乎可以找到所有功能。 - 用
Ctrl+P或⌘P打开文件,用Ctrl+Shift+O或⇧⌘O跳转符号。 - 用
Ctrl+D、Ctrl+Shift+L和多光标快捷键批量修改代码。 - 用
Ctrl+Shift+F、Ctrl+Shift+H完成工作区搜索和替换。 - 用
F12、Shift+F12、F2快速阅读和重构代码。 - 用
Ctrl+反引号或⌃反引号切换终端,用Ctrl+K Z或⌘K Z进入专注模式。