Как запустить задачу в другом терминале с интегрированным терминалом vscode

ITNOA

Привет,

Моя проблема заключается в том, что встроенный терминал по умолчанию в vscode отличается от файла tasks.json, который необходим.

поэтому, когда я хочу запустить команду в tasks.json, у меня возникло много проблем.

например, если вы установите для встроенного терминала по умолчанию значение wsl и хотите запустить bat-файл в tasks.json, как показано ниже, вы получили ошибку и задача не работает.

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

1 ответ

Решение

Как вы можете видеть в документах vscode для задач, один раздел посвящен общим вопросам, которые говорят что-то вроде ниже

Может ли задача использовать оболочку, отличную от указанной для встроенного терминала?

и ответить на этот вопрос да с подробностями ниже

Вы можете переопределить оболочку задачи с помощью свойства options.shell. Вы можете установить это для каждой задачи, глобально или для платформы. Например, чтобы использовать cmd.exe в Windows, ваш файл tasks.json должен включать:

{
    "version": "2.0.0",
    "windows": {
        "options": {
            "shell": {
                "executable": "cmd.exe",
                "args": [
                    "/d", "/c"
                ]
            }
        }
    },
    ...
Другие вопросы по тегам