ctrl+`是循环切换已存在终端实例的快捷键,非开关操作;连续按可在bash、pwsh等标签间聚焦,隐藏后进程仍在后台运行。

Ctrl+` 不是单次开关,而是循环切换终端实例
很多人按一次 Ctrl+` 打开终端,再按一次就以为关掉了——其实只是隐藏了面板,所有终端进程仍在后台运行。连续按 Ctrl+` 会在已打开的终端标签间循环聚焦(比如 bash → pwsh → Python),不是“开/关”而是“切/显”。
真正关闭当前终端实例要用 Ctrl+W(Windows/Linux)或 Cmd+W(macOS),或者点右上角垃圾桶图标。误用 exit 可能只退出 shell 进程,但终端标签还挂着,下次打开仍会复现旧状态。
- 终端被意外关闭后,
Ctrl+Shift+`是新建,不是恢复;没保存的命令历史不会回来 - 多个终端共存时,右键标签页可重命名(如标为
dev-server或db-migrate),避免靠颜色或顺序猜用途 - 终端标题栏默认不显示 Git 分支,需在 shell 配置里加提示符,或装
git-status插件
分屏操作别只记 Ctrl+\,Alt+方向键才是关键导航
用 Ctrl+\ 垂直拆分终端后,光有分屏没用——你得快速在左右/上下面板间跳转。此时 Alt+← / Alt+→(Windows/Linux)或 Opt+← / Opt+→(macOS)直接切到相邻分屏,比用鼠标点标签快得多。
水平分屏(Ctrl+Shift+\)同样适用这套导航逻辑。如果你在左侧面板启动了 npm run dev,右侧面板跑 npm test,来回切日志时不用伸手摸鼠标。
- 分屏后终端各自独立工作目录,不会自动同步
cd;想保持一致,得手动cd或提前配好"terminal.integrated.cwd": "${fileDirname}" - 分屏太多容易混乱,建议最多 2–3 个,用右键“重命名”+“关闭未使用”及时清理
- 某些 Shell 主题(如 Oh My Zsh)加载慢,会导致新分屏启动卡顿;可单独配轻量 profile:
"zsh --no-rcs"
终端内命令执行效率取决于选中+快捷键组合
写好一段命令(比如 curl -X POST http://localhost:3000/api/users)后,不用复制粘贴——选中它,按 Ctrl+Shift+P → 输入 Terminal: Run Selected Text in Active Terminal,回车即执行。这个动作比 Ctrl+C / Ctrl+V 少两步,且避免粘贴错行。
同理,编辑器里右键空白处选 Open in Integrated Terminal,终端自动 cd 到当前文件所在目录;拖拽一个文件标签到终端区域,会自动生成 cd 命令并高亮路径供确认。
- 选中文本后直接按
Enter不会执行,必须走命令面板触发;这是 VS Code 的安全限制,防误操作 - 长命令输出滚动卡顿时,关掉
terminal.integrated.scrollback(设为1000以内)能明显改善响应 -
Ctrl+L清屏比输入clear快,但清的是视图不是缓冲区;真要丢掉全部历史,得用Ctrl+Shift+P→Terminal: Clear Terminal
环境变量和 Shell 启动行为必须显式配置
VS Code 终端默认继承系统环境变量,但某些开发场景需要覆盖或补充——比如 Node.js 项目统一设 NODE_ENV=development,或 WSL 用户强制用 Ubuntu 而非 cmd。这些不能靠“终端自己懂”,必须写进设置。
最可靠的位置是项目级 .vscode/settings.json,而非全局设置。这样团队成员开项目就自动生效,不依赖本地机器配置。
- Windows 上指定 WSL:
"terminal.integrated.defaultProfile.windows": "Ubuntu" - Linux/macOS 启动登录模式(加载
~/.bashrc):"terminal.integrated.shellArgs.linux": ["-l"] - 为终端单独注入变量(不影响编辑器其他功能):
"terminal.integrated.env.windows": { "NODE_ENV": "development" }
最容易被忽略的一点:终端不是黑盒,它和编辑器共享环境变量——但仅限于启动那一刻。运行中修改 $PATH 或 export 新变量,只对当前终端实例有效,不会反向影响编辑器的 Tasks 或 Debug 配置。











