You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为VS Code终端配置文件设不同默认目录?求WSL等效配置

解决方案:为VS Code不同终端配置独立默认工作目录

针对monorepo场景下,需要给VS Code不同终端配置各自默认工作目录的需求,以下是可行的配置方案:

PowerShell 终端配置(已验证可用)

通过传递启动参数的方式,实现打开PowerShell终端时自动切换到前端目录:

{
  "terminal.integrated.profiles.windows": {
    "My Frontend": {
      "source": "PowerShell",
      "icon": "terminal-powershell",
      "args": [
        "-NoExit",
        "-Command",
        "Set-Location -Path '${workspaceFolder}/frontend-folder'"
      ]
    }
  }
}

参数说明:

  • -NoExit:确保执行目录切换命令后终端不自动退出
  • Set-Location:PowerShell的目录切换命令,等价于cd
  • ${workspaceFolder}:VS Code内置变量,指代当前打开的工作区根目录

WSL(Ubuntu)终端配置

对应WSL终端的等效配置,通过传递命令实现自动切换到后端目录:

{
  "terminal.integrated.profiles.windows": {
    "My Backend": {
      "path": "C:\\Windows\\System32\\wsl.exe",
      "icon": "terminal-ubuntu",
      "args": [
        "-e",
        "bash",
        "-c",
        "cd '${workspaceFolder}/backend-folder' && exec bash"
      ]
    }
  }
}

参数说明:

  • -e:指定WSL要执行的外部命令
  • bash -c:执行后续的命令字符串
  • cd 切换到目标目录后,exec bash 替换当前进程为交互shell,避免出现嵌套shell的问题

如果你的WSL默认shell不是bash,可改为:

"args": [
  "-e",
  "$SHELL",
  "-c",
  "cd '${workspaceFolder}/backend-folder' && exec $SHELL"
]

关于原配置无效的原因

VS Code终端配置中的cwd参数并非对所有终端类型都生效,比如WSL这类外部终端程序,VS Code无法直接控制其启动时的工作目录,因此需要通过传递启动命令的方式实现目录切换。

内容的提问来源于stack exchange,提问作者Shahriar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 22:41:11