Visual Studio代码任务的工作目录是什么?
根据官方文档,默认应该是工作区目录,即workspaceFolder
,但运行一个只执行echo $PWD
的任务时,它会显示workspaceFolder
的父目录。
换句话说,给定dir1/dir2/.vscode/tasks.json
,下面的琐碎任务打印dir1
,而workspaceFolder
引用dir2
(实际工作空间目录(。
如何从workspaceFolder
运行任务?更改cwd
选项没有帮助。
tasks.json
:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "Sample",
"command": "echo PWD=$PWD workspaceFolder=${workspaceFolder}",
"options": {
"cwd": "${workspaceFolder}"
}
}
]
}
执行输出:
> Executing task: echo PWD=$PWD workspaceFolder=/home/ubuntu/dir1/dir2 <
PWD=/home/ubuntu/dir1 workspaceFolder=/home/ubuntu/dir1/dir2
作为附加的并且可能相关的注意事项,我正在使用Remote-SSH扩展进行远程开发。
{
"label": "Status",
"detail": "git status",
"type": "shell",
"command": "git status",
"group": "test",
"options": {
"cwd": "${workspaceFolder}/dir1/dir2/dir3/"
},
"presentation": {
"reveal": "always",
"panel": "new",
"focus": true
}
}
我们可以使用";选项";键来设置任务应该在其中执行的工作目录。