Does VS code support starting a gulp-watch task on startup? I'd like to start the watcher when I open the editor.
5 Answers
This functionality was added in v1.30: Release notes: run task on folder open
Run on folder open
If you have a task that you always run when you open a folder, you can configure it to run automatically when that folder is opened by configuring its "
runOn
" property. We found this useful for making sure no one breaks our new strict null checks in the VS Code repository. By adding"runOn": "folderOpen"
, everyone who allows tasks to be run automatically will get markers when they violate the strict null check:
Example:
{
"type": "npm",
"script": "strict-null-check-watch",
"label": "TS - Strict Null Checks",
"isBackground": true,
"problemMatcher": {
"base": "$tsc-watch",
"owner": "typescript-strict-null",
"applyTo": "allDocuments"
},
"runOptions": {
"runOn": "folderOpen"
}
}
Example 2:
{
"label": "Tasks: copy3",
"type": "shell",
"command": "gulp",
"args": [
"copy3",
"--file",
"${fileBasename}"
],
"problemMatcher": [],
"runOptions": {
"runOn": "folderOpen"
}
},

- 143,421
- 24
- 428
- 436
-
18Make sure that automatic tasks are enabled: 1. CTRL-P 2. Search for and run 'Manage Auotomatic Tasks in Folder' 3. Select for and run 'Allow Automatic Tasks in Folder' – Andreas Vendel Jan 08 '20 at 08:26
-
2Those are tasks and they go into your `.vscode/tasks.json` file. – Mark Jan 17 '20 at 17:08
-
@AndreasVendel It doesn't look like that works for me, do you know if this got deleted? – Timberman Apr 28 '20 at 12:50
-
All works fine, thanks! I had a similar problem as @AndreasVendel – so double-check the mentioned above 'Manage Automatic Tasks in Folder', but to search for it press "F1" instead of "Ctrl+P" (last command search for files only). – Oleg Zarevennyi Jul 30 '20 at 07:29
-
1My comment was not entirely correct. It should have been CTRL-SHIFT-P, but F1 also works, as @OlegZarevennyi suggested. – Andreas Vendel Jul 30 '20 at 13:33
-
After adding the task to tasks.json I think you need to run the task manually one time, and then you'll get a popup saying something like "Would you like to allow this task to run automatically?" That's what I had to do to get it working. – Coco Nov 09 '20 at 23:05
-
If you would like to simplify the use of `runOn: folderOpen` inside devcontainers, please vote in this feature request: https://github.com/microsoft/vscode-remote-release/issues/6580 – felipecrs Apr 12 '22 at 16:05
I create an extension that can do it. It is "Blade Runner". Try this! Blade Runner on Visual Studio Code Market Place

- 166
- 4
-
-
-
1This only brings up the "run build task" list when opening the folder, so it seems the only thing it does automatically is press Cmd+Shift+B for me... unless I'm doing it wrong? – Roy Tinker Aug 01 '17 at 23:39
This is an old thread, but the question is still up to date. Blade Runner did not suit my needs, nor did any other extension.
I created an extension AutoLaunch that can run a specific task from tasks.json or launch a specific debug configuration from launch.json.

- 615
- 6
- 12
No, sorry. This is a good suggestion (ability to run a task on startup), can you please file an issue in the microsoft/vscode repo on GitHub? (Sorry, I can't post more than 2 links yet)?
In the meantime, here are a couple of options:
You can specify a particular task as a Build task and then press
CMD+SHIFT+B
when you open the folder to start the task. See here: https://code.visualstudio.com/docs/editor/tasks#_mapping-gulp-grunt-and-jake-output-to-problem-matchersYou could write an extension that is activated on startup and then runs gulp with the task name. See here for extension activation options: https://code.visualstudio.com/docs/extensionAPI/activation-events#_activationevents.

- 281
- 2
- 2
Just as Mark suggested You can use "runOn": "folderOpen"
, but it's not that simple to run a Gulp task I believe. I suggest trying to do it the following way.
{
"label": "Watch",
"type": "shell",
"command": "gulp watch",
"runOptions": {
"runOn": "folderOpen"
}
)

- 1,055
- 1
- 12
- 28
-
It doesn't seem like that works for me, is there anything else to enable to make that work? – Timberman Apr 28 '20 at 12:52
-
@Timberman, I think VSCode should ask You about it, but You can try adding manually `"problemMatcher": []` to this object. Maybe that will help. If not, please precise if there are any errors displayed and if so, what are they. Also, I think that there should be no need to restart the whole VSCode to check if Your configuration works - running "Reload window" command (You can find it after pressing `Ctrl`+`Shift`+`P`) shall be enough. – kcpr Apr 28 '20 at 13:20