В более новых версиях VSCode я могу создавать привязки к любой задаче, определенной в tasks.json
. Например, с 3 задачами ниже
{
"version": "2.0.0",
"tasks": [
{
"label": "Clean",
"type": "shell",
"command": "clean.cmd",
"problemMatcher": []
},
{
"label": "Build",
"type": "shell",
"command": "build.cmd",
"problemMatcher": [],
"group": { "kind": "build", "isDefault": true }
},
{
"label": "Flash",
"type": "shell",
"command": "flash.cmd",
"problemMatcher": []
}
]
}
Я могу создавать привязки клавиш с помощью
[
{
"key": "alt+f9",
"command": "workbench.action.tasks.runTask",
"args": "Clean"
},
{
"key": "ctrl+f9",
"command": "workbench.action.tasks.build"
},
{
"key": "f9",
"command": "workbench.action.tasks.runTask",
"args": "Flash"
}
]
и все работает как положено. Я пытаюсь сделать то же самое из расширения (например, с помощью Команды сценария) с использованием VSCode API, но он работает только для задач build
и test
.
Звонок
vscode.commands.executeCommand("workbench.action.tasks.build")
работает, но
vscode.commands.executeCommand("workbench.action.tasks.runTask", ["Clean"])
открывает список выбора задач.
Как я мог напрямую запустить другие задачи помимо build
и test
, используя код JavaScript?