Как связать задачи в коде Visual Studio, используя только задачи.в JSON?
я рылся в документации кода visual studio чтобы выяснить, как добавить несколько последовательных задач задач.файл json.
массив "задачи" позволяет создавать разные аргументы только для одной команды. В этом примере команда 'echo
'.
{
"version": "0.1.0",
"command": "echo",
"isShellCommand": true,
"args": [],
"showOutput": "always",
"echoCommand": true,
"suppressTaskName": true,
"tasks": [
{
"taskName": "hello",
"args": ["Hello World"]
},
{
"taskName": "bye",
"args": ["Good Bye"]
}
]
}
выполняет задания.JSON позволяет выполнять несколько задач последовательно? Например, tsc
следовал по uglify
?
2 ответов
на dependsOn
функция была отправлена в версии 1.10.0 (заметки). Например, я использую это для компиляции и запуска скриптов с одним файлом в TypeScript:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"command": "tsc -p ${cwd}/2017-play",
"taskName": "tsc-compile",
"type": "shell"
},
{
"command": "node ${cwd}/2017-play/build/${fileBasenameNoExtension}.js",
"taskName": "node-exec",
"type": "shell",
"dependsOn": [
"tsc-compile"
],
"problemMatcher": []
}
]
}
вот рабочий пример, который работает в ТКС строить и копирует в другую папку с помощью скрипта. Это основано на различных должностях на StackOverflow и документация здесь:
https://code.visualstudio.com/updates/v1_10#_more-work-on-terminal-runner
можно также сделать задачи.json с двумя задачами со вторым, имеющим dependsOn на первом, как показано в Ben Creasy post, две задачи будут выполняться, когда второй называется. Мне нужно было выполнить одно, другое или оба. Большое спасибо Бену, мне было трудно найти решение, прежде чем попасть в этот пост.
кстати, при включении файла оболочки команды выполняются со ссылкой на папку проекта, а не на ту, где находится скрипт.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "typescript",
"tsconfig": "tsconfig.json",
"problemMatcher": [
"$tsc"
],
"group": "build",
"identifier": "build"
},
{
"label": "Copy files",
"type": "shell",
"command": "./scripts/copysrc.sh",
"windows": {
"command": ".\scripts\copysrc.cmd"
},
"group": "build",
"presentation": {
"reveal": "always"
},
"problemMatcher": [],
"dependsOn": "build"
},
{
"label": "Build and copy",
"dependsOn": [
"build",
"Copy files"
],
"group": "build",
"problemMatcher": []
}
]
}