Can I automatically start a task when a folder is opened?
Asked Answered
D

5

26

Does VS code support starting a gulp-watch task on startup? I'd like to start the watcher when I open the editor.

Derman answered 5/12, 2015 at 10:1 Comment(0)
T
15

I create an extension that can do it. It is "Blade Runner". Try this! Blade Runner on Visual Studio Code Market Place

Tomlin answered 11/12, 2015 at 13:7 Comment(3)
Thanks, I'm installing it now.Derman
That's exactly what I was looking for. Good job!Thesaurus
This 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?Left
C
38

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"
  }
},
Colewort answered 13/12, 2018 at 4:39 Comment(7)
Make 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'Blurb
Those are tasks and they go into your .vscode/tasks.json file.Colewort
@AndreasVendel It doesn't look like that works for me, do you know if this got deleted?Sussna
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).Thatch
My comment was not entirely correct. It should have been CTRL-SHIFT-P, but F1 also works, as @OlegZarevennyi suggested.Blurb
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.Maramarabel
If you would like to simplify the use of runOn: folderOpen inside devcontainers, please vote in this feature request: github.com/microsoft/vscode-remote-release/issues/6580Managua
T
15

I create an extension that can do it. It is "Blade Runner". Try this! Blade Runner on Visual Studio Code Market Place

Tomlin answered 11/12, 2015 at 13:7 Comment(3)
Thanks, I'm installing it now.Derman
That's exactly what I was looking for. Good job!Thesaurus
This 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?Left
H
5

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.

Hannibal answered 3/11, 2017 at 13:52 Comment(0)
C
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"
    }
)
Considered answered 5/2, 2019 at 13:44 Comment(2)
It doesn't seem like that works for me, is there anything else to enable to make that work?Sussna
@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.Considered
P
1

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:

Ponce answered 10/12, 2015 at 4:1 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.