Я видел, что можно определить задачу в VSCode. Но я не уверен, как определить несколько задач в tasks.json
файле.
visual-studio-code
vscode-tasks
Франц Гселл
источник
источник
Ответы:
На всякий случай кому-то поможет ... Если у вас нет / вы не хотите gulp / grunt / etc ... или дополнительного сценария оболочки для прокси-сервера ваших команд задач, "npm run" уже есть.
это для webpack и mocha, как в "Build and Test", Shift+ Ctrl+ B, Shift+ Ctrl+T
.vscode / tasks.json:
{ "name": "npmTask", //... "suppressTaskName": true, "command": "npm", "isShellCommand": true, "args": [ "run" ], "tasks": [ { //Build Task "taskName": "webpack", //Run On Shift+Ctrl+B "isBuildCommand": true, //Don't run when Shift+Ctrl+T "isTestCommand": false, // Show the output window if error any "showOutput": "silent", //Npm Task Name "args": [ "webpack" ], // use 2 regex: // 1st the file, then the problem "problemMatcher": { "owner": "webpack", "severity": "error", "fileLocation": "relative", "pattern": [ { "regexp": "ERROR in (.*)", "file": 1 }, { "regexp": "\\((\\d+),(\\d+)\\):(.*)", "line": 1, "column": 2, "message": 3 } ] } }, { //Test Task "taskName": "mocha", // Don't run on Shift+Ctrl+B "isBuildCommand": false, // Run on Shift+Ctrl+T "isTestCommand": true, "showOutput": "always", "args": [ "mocha" ] } ] }
package.json:
{ ... "scripts": { "webpack": "webpack", "mocha": "/usr/bin/mocha" }, ... }
источник
Что помогло мне лучше понять это, так это последовательность аргументов, переданных команде. Для кого-то это может быть очевидно, но не ясно в документации.
Пропуск некоторых полей, чтобы сосредоточиться только на отправляемой команде:
Приведенное выше определение приведет к следующей команде:
Название задачи
myTask
всегда последнее. Начиная с версии 0.4 его можно не использовать"suppressTaskName": true
.источник
Попробуй это
источник
Я использую следующий файл tasks.json для запуска нескольких сценариев сборки TypeScript. Я помещаю файл tsconfig.json в каждую папку, что позволяет мне настраивать вывод каждой папки индивидуально. Просто убедитесь, что вы подавили имя задачи, потому что оно пытается поместить его в командную строку.
Вот как выглядит структура папок, где / script - корень вывода, а / source - корень ввода. Обе папки ссылаются на объявления типов в папке / typingd и / typings. TypeScript несколько ограничен использованием относительных путей во внешних ссылках, поэтому он помогает упростить вещи, если структуры этих папок похожи.
О да, их выборочно запускать проще, если вы пометите их как не построенные и переопределите ключ сборки, чтобы выбрать конкретную задачу из списка, например ...
Обновление : вы всегда можете просто пойти полным мошенником, если хотите. Могут быть более эффективные способы обработки аргументов, но на данный момент это работает для меня под OSX.
источник
Я не знаю правильного ответа на это (и тоже хотел бы знать), но мой уродливый обходной путь на случай, если он кому-то поможет. Я работаю в Windows, и в итоге я создал простой пакетный скрипт, который может содержать просто
Тогда мой tasks.json выглядит примерно так
источник
В свойстве tasks можно указать несколько задач. Что-то вроде:
источник
tsc
иmocha
задач.Эта функция была добавлена в Visual Studio Code v1.9 (январь 2017 г.) . Пример и текст взяты из примечаний к выпуску :
{ "version": "0.1.0", "tasks": [ { "taskName": "tsc", "command": "tsc", "args": ["-w"], "isShellCommand": true, "isBackground": true, "problemMatcher": "$tsc-watch" }, { "taskName": "build", "command": "gulp", "args": ["build"], "isShellCommand": true } ] }
Команды на задачу
Теперь вы можете определять разные команды для каждой задачи ( # 981 ). Это позволяет запускать разные команды для разных задач без написания собственного сценария оболочки.
tasks.json
Файл с помощью команд на внешний вид задачи , как [выше] .источник
Похоже, это ошибка VSCode с версии 0.5.0.
Мой gulp.js:
Обратите внимание, что первая задача использует isBuildCommand, поэтому запускается CTRL + SHFT + B, а следующая задача - isTestCommand, поэтому запускается CTRL + SHFT + T. Однако для того, чтобы первая задача принимала аргументы, необходимо было поменять местами имя задачи и аргументы.
Начиная с VSCode 0.5.0 вышеупомянутое работает, но не следующее:
Вот вывод из task.json с правильной задачей и порядком аргументов:
Вот правильный вывод tasks.json с обратным именем задачи и аргументом при использовании аргументов:
источник
По состоянию на февраль 2017 года , вы можете использовать Terminal Runner и составлять несколько задач, настраивая задачи зависимостей. Это немного забавно в том смысле, что он открывает отдельный интегрированный терминал для каждой задачи, за которым вы должны следить, чтобы увидеть, работает ли что-то, и не забудьте закрыть (они «складываются»), и вы не получите уведомление «готово» , но он выполняет свою работу. Функционал предварительный, но перспективный. Вот пример запуска tsc и jspm для приложения Cordova.
источник
Для меня сработало следующее:
tasks.json:
MyProject.UnitTests \ project.json :
Запустить bower: Ctrl + Shift + B из vscode Запустить тесты: Ctrl + Shift + T из vscode
источник
Это работает для меня ...
Я знаю, что здесь много разных ответов, но мой подход снова был немного другим, поэтому я подумал, что добавлю свои 2 пенса.
Я работаю в Windows и использую внешний пакетный файл для выполнения своих команд. Это похоже на ответ Джонатана выше, но я не передаю ему никаких команд, что означает, что мой файл «tasks.json» отличается.
Я мог бы со временем изменить этот подход (например, у меня еще не было времени поиграть с gulp), но этот метод сейчас отлично работает для меня.
Я использую ручки для создания шаблонов html, babel, поэтому я могу использовать код ES6 и линтер кода для выявления ошибок. В конце пакетный файл запускает браузер с моей стартовой страницей (index.html)
Вот мой командный файл с именем run_tasks.bat:
А вот и мой файл tasks.json:
Затем в VSCode я нажимаю «CTRL + SHIFT + B», чтобы запустить командный файл.
источник
У меня есть приложение Electron, которому нужно скомпилировать меньшую таблицу стилей, а затем собрать и запустить программу. Я использовал решение @ Ocean, которое сработало для меня ... больше ничего не сработало.
Оба моих файла tasks.json и build-tasks.bat находятся в каталоге .vscode в корне проекта.
build-tasks.bat
tasks.json
источник
Благодаря этой теме у меня теперь есть сборка c # / dnxcore50 и тестовая отладка и т. Д., Работающая в vscode на osx с этим:
Я уверен, что Linux будет в основном таким же. Единственное, что меня раздражает, - это необходимость поддерживать файлы .csproj только для отладки. Я с нетерпением жду способа отладки с помощью dnx, хотя я не искал уже пару недель.
источник