vscode: задача, расширяющая другую задачу / передача параметров - PullRequest
0 голосов
/ 08 мая 2020

начальная позиция

Задачи. json, определяющие рабочую задачу сборки (в настоящее время единственная, определенная по умолчанию и работающая нормально, также запускается нажатием [CTRL] + [SHIFT] + [B] ).

Он запускает внешнюю команду (пакетный сценарий / сценарий оболочки) и передает некоторые параметры. Отрывок:

        {
            "label": "sample task",
            "windows": {
                "command": "${workspaceFolder}\\procedures_win\\doStuff.bat"
            },
            "linux": {
                "command": "${workspaceFolder}/procedures/doStuff.sh"
            },
            "type": "shell",
            "args": [
                "fixedParm",
                "${fileBasename}"
            ]
        }

(полный намного длиннее, в основном из-за количества записей в taskMatcher, содержит целевые параметры c настройки среды, 100 строк + ...)

target

Создайте вторую задачу «пример задачи (только для проверки)», которая полностью идентична, но передает один дополнительный аргумент сценарию "check-only".

варианты?

Можно ли «расширить» данную задачу, «переопределив» только args?

Если нет: возможно ли иметь задачу на самом деле запустить (не зависит от) другую задачу и установить параметр среды, который затем может использоваться исходной задачей как "${env:someValue}" (результатом будет либо пустая строка, либо запрошенная «только проверка») ?

В крайнем случае, можно определить 5 вместо двух задач (1 почти идентична текущей, но принимает входные данные из внешней команды / файла; 2 + 3 мета-задачи в зависимости от 4+ 5, 4 + 5 команда, которая создает файл ${workspaceFolder}/.taskmode, который либо ничего не содержит, либо "только проверка").

вопрос

Как работает рабочее решение без установки расширений как выглядит?

...