terminal.integrated.cwd 仅对新建终端生效,决定其初始工作目录;支持绝对/相对路径(以工作区根为基准),空值则回退至VSCode启动目录;工作区级配置优先于用户级,Windows路径需双反斜杠或正斜杠,且shell初始化脚本可能覆盖该设置。

terminal.integrated.cwd 配置只对新终端生效
VSCode 的终端默认工作目录不是靠“启动时自动 cd”实现的,而是通过 terminal.integrated.cwd 设置决定新终端实例打开时的初始路径。这个配置不改变已存在的终端,也不影响你手动执行 cd 后的行为。
常见错误现象:改了设置但已有终端没变化,或者以为改了用户设置就能让所有项目都统一路径——其实它只在点击「+」新建终端时起作用。
- 该值支持绝对路径(如
"C:\Projects\my-app")和相对路径(如"./src"),相对路径以当前打开的工作区根目录为基准 - 如果工作区是多文件夹(Multi-root Workspace),
terminal.integrated.cwd会以第一个文件夹为基准,其他文件夹不单独生效 - 若设为空字符串(
"")或未设置,新终端将默认进入 VSCode 启动时所在的目录(通常是用户主目录)
工作区级配置优先于用户级配置
想让某个项目每次新开终端都进 ./packages/web?直接在该工作区的 .vscode/settings.json 里写,比全局设置更可靠、更安全。
使用场景:团队协作项目中,不同成员本地路径结构可能不同,用工作区配置可避免互相覆盖;前端 monorepo 中常需终端默认落在子包目录下。
- 用户级设置路径:
File > Preferences > Settings > Features > Terminal > Integrated > Cwd,对应settings.json中的"terminal.integrated.cwd" - 工作区级设置优先级更高,且不会污染其他项目——这是最推荐的落地方式
- 注意不要误写成
"terminal.cwd"(旧版配置键名,VSCode 1.70+ 已弃用,无效)
Windows 下路径斜杠和转义要小心
在 settings.json 里写 Windows 路径时,反斜杠 是 JSON 字符串里的转义字符,直接写 "C:projectspp" 会报错或路径异常。
错误信息示例:Invalid escape character in string 或终端打开后显示 bash: cd: C:rojectspp: No such file or directory(因为 p 和 被当作了转义序列)。
- 正确写法是双反斜杠:
"C:\projects\app" - 或统一用正斜杠(Windows CMD/PowerShell/WSL 均兼容):
"C:/projects/app" - 避免用环境变量如
%USERPROFILE%—— VSCode 不解析 Windows 环境变量,会当作字面路径处理
终端类型不影响 cwd,但 shell 启动逻辑可能覆盖它
terminal.integrated.cwd 对 PowerShell、CMD、Git Bash、WSL 等所有集成终端类型都生效,但某些 shell 的 profile 脚本(如 $PROFILE 或 ~/.bashrc)里若有 cd 命令,会立刻覆盖初始路径。
典型表现:配置了 "./src",但新终端一打开就跳到了 ~ 或 /mnt/c/Users —— 很可能是 shell 初始化脚本在作祟。
- 检查 PowerShell 的
$PROFILE是否含Set-Location或cd - 检查 WSL 的
~/.bashrc或~/.zshrc开头是否有cd - 临时验证方法:在命令行中直接运行
code --disable-extensions启动 VSCode,排除插件干扰
.zshrc 在抢跑。


















