如何在另一个终端中运行任务,并具有VSCODE积分终端



我的问题是vscode中默认的集成终端与任务不同。

所以当我想在任务中运行命令。

例如,如果将默认的集成终端设置为WSL,并且您想在任务中运行BAT文件。JSON如下,您会遇到一些错误,并且任务不起作用。

"tasks": [
    {
        "label": "build",
        "type": "shell",
        "command": "build.bat",
        "args": [],
        "presentation": {
            "echo": true,
            "reveal": "always",
            "focus": true,
            "panel": "shared",
            "showReuseMessage": true,
            "clear": false
        }
    }
]

正如您在任务的VSCODE文档中看到的那样,一个部分是关于常见的问题,这些问题在下面说明

任务可以使用与集成终端指定的外壳不同的外壳吗?

回答以下详细信息是肯定的

您可以使用options.shell属性覆盖任务的外壳。您可以在全球或每个平台上设置此任务。例如,要在Windows上使用cmd.exe,您的任务。json将包括:

{
    "version": "2.0.0",
    "windows": {
        "options": {
            "shell": {
                "executable": "cmd.exe",
                "args": [
                    "/d", "/c"
                ]
            }
        }
    },
    ...

最新更新