我有一个 monorepo,每次打开终端时,我都必须
cd
到特定目录;每个终端的情况都不同。
我想跳过这一步,在 vscode 中为终端设置不同的默认目录。
类似于
terminal.integrated.cwd
,但根据个人资料:
"terminal.integrated.profiles.windows": {
"My Frontend": {
"source": "PowerShell"
"cwd": "frontend-folder"
},
"My Backend": {
"path": "C:\\Windows\\System32\\wsl.exe",
"cwd": "backend-folder"
}
}
但是,这个设置不存在,我只能为所有人设置一个
cwd
。
理想情况下,我希望 powershell (默认终端)在 /frontend-folder 中打开,Ubuntu (WSL) 终端在 /backend-folder 中打开。
此设置适用于 powershell
{
...
"My Frontend": {
"source": "PowerShell",
"icon": "terminal-powershell",
"args": [
"-NoExit",
"-Command",
"Set-Location -Path '${workspaceFolder}/frontend-folder'"
]
}
...
}
但我不知道 WSL 的等价物是什么。
此设置适用于 powershell
为了稳健性,请在路径周围使用嵌入的 double 引号,以便也支持带有嵌入
'
字符的路径:
"Set-Location -Path \"${workspaceFolder}/frontend-folder\""
但我不知道 WSL 的等价物是什么。
使用
wsl.exe
的--cd
参数传递启动目录;运行 wsl --help
查看所有支持的参数及其描述。
将所有内容放在一起:
"terminal.integrated.profiles.windows": {
// ...
"My Frontend": {
"source": "PowerShell",
"args": [
"-NoExit",
"-Command",
"Set-Location -Path \"${workspaceFolder}\\frontend-folder\""
]
},
"My Backend": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": [ "--cd", "${workspaceFolder}\\backend-folder" ]
}
// ...
}