Visual Studio Code 任务的工作目录

Ant*_*tto 19 visual-studio-code vscode-tasks vscode-remote

Visual Studio Code 任务的工作目录是什么?

根据官方文档,默认应该是工作空间目录,即 ,workspaceFolder但是运行一个简单执行 的任务echo $PWD,它显示的是 的父目录workspaceFolder

换句话说,给定,在引用(实际工作空间目录)时dir1/dir2/.vscode/tasks.json打印以下简单任务。dir1workspaceFolderdir2

我应该怎么做才能从 运行任务workspaceFolder?更改cwd选项没有帮助。

tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "Sample",
            "command": "echo PWD=$PWD workspaceFolder=${workspaceFolder}",
            "options": {
              "cwd": "${workspaceFolder}"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

执行输出:

> Executing task: echo PWD=$PWD workspaceFolder=/home/ubuntu/dir1/dir2 <

PWD=/home/ubuntu/dir1 workspaceFolder=/home/ubuntu/dir1/dir2
Run Code Online (Sandbox Code Playgroud)

作为附加且可能相关的说明,我正在使用远程 - SSH扩展进行远程开发。

小智 18

{
    "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
    }
}
Run Code Online (Sandbox Code Playgroud)

我们可以使用“options”键来设置任务应在其中执行的工作目录。

  • 正如我在描述中所说,这种配置并没有解决问题。但是,更新 V​​SCode 后,问题得到了解决,而无需更改我的“tasks.json”文件。 (2认同)