vs code 中通过 ctrl+shift+(windows/linux)或 cmd+shift+(macos)可新增独立终端实例,支持不同 shell 和工作目录;新终端默认继承当前终端 cwd,可配置 "terminal.integrated.cwd": "${workspacefolder}" 统一初始路径;右键标签页可重命名以区分用途;需注意 shell 路径配置正确性及后台进程残留问题。

VS Code 里怎么同时开多个终端(不是标签页,是真正独立的控制台)
VS Code 的集成终端默认每次点 Ctrl+`(反引号)只切换/聚焦一个终端实例。所谓“打开两个控制台”,本质是创建多个独立终端会话,它们互不干扰、可运行不同命令、甚至不同 Shell。
关键不是“打开”,而是“新增”——VS Code 把这个动作叫 Split Terminal(分割终端),但实际效果是并行新终端,不是左右分屏(虽然也能分屏)。
- 快捷键最稳:
Ctrl+Shift+`(Windows/Linux)或Cmd+Shift+`(macOS),按一次就新增一个终端实例 - 右键终端标签页 → 选
Split Terminal,效果一样 - 终端下拉菜单(右上角 ▼)→ 点
+ New Terminal,也行,但比快捷键慢半拍
为什么新开的终端有时自动继承前一个的工作目录?
这是 VS Code 的默认行为:新终端默认复用当前活动终端的 cwd(current working directory)。看起来像“同步”,其实是启动时显式传参的结果,不是实时联动。
影响场景:你在 ./backend 跑服务,又开了个终端想进 ./frontend,结果新终端也停在 ./backend —— 得手动 cd。
- 想让每个终端从项目根目录起始?改设置:
"terminal.integrated.cwd": "${workspaceFolder}" - 想彻底自由?新建终端后立刻执行
cd,或配自定义终端配置(比如加个shellArgs启动时自动跳转) - 注意:
cwd设置对已存在的终端无效,只影响后续新建的
终端太多容易混乱:怎么快速区分和管理
开到 4–5 个终端后,光看默认的 bash、zsh 标签名根本分不清哪个跑着 npm run dev,哪个卡在 git pull。
最轻量的区分方式是重命名标签页,不用装插件:
- 右键任意终端标签 →
Rename Terminal,输个有意义的名字,比如frontend-dev或db-migrate - 名字会保存到当前窗口会话,关掉再开就没了;如需持久化,得靠
tasks.json或扩展 - 别依赖颜色区分——终端主题色是全局的,改了所有终端一起变
Windows 上 PowerShell 和 CMD 终端启动失败?检查 shellPath
如果你手动改过 terminal.integrated.defaultProfile.windows,或者装了新 Shell(比如 Windows Terminal、Git Bash),VS Code 可能找不到可执行路径,报错:The terminal process failed to launch: Path to shell executable "xxx" does not exist.
这不是权限问题,是路径写错了或版本升级后路径变了。
- 查真实路径:打开 Windows Terminal → 设置 → 某个配置文件 → 看
commandline字段,比如"C:\Program Files\PowerShell\7\pwsh.exe" - 填进 VS Code 设置:
"terminal.integrated.profiles.windows": { "PowerShell 7": { "path": "C:\Program Files\PowerShell\7\pwsh.exe" } } - 路径里反斜杠必须双写(
\),单写会被当转义符解析失败
node、python -m http.server)未必退出——它们还在系统里挂着,可能占端口、吃内存,下次启动反而报 EADDRINUSE。动手关终端前,先 Ctrl+C 或 kill 干净。










