Description
VS Code 1.14 includes a new task provider concept which allows extensions to dynamcially register tasks that show up in the "Tasks: Run Task" menu. I think this would be really useful for the following scenarios:
- Generating tasks from psake or Invoke-Build scripts (@nightroman)
- Generating tasks for Pester tests if any are detected in the project
- Generating tasks for PSGallery operations (publish, etc)
However, I think that generating tasks from build scripts is probably what people would be doing 99% of the time.
@nightroman, I'd love to work with you to get Invoke-Build hooked up with this for the next PowerShell extension update. Here's what I'm thinking:
-
Editor Services will provide new cmdlets for registering "editor tasks" with a syntax like this:
Register-EditorTask -Name "Build" -Source "Invoke-Build" -Command "Invoke-Build .\build.ps1 Build"
-
Invoke-Build will provide a new command (very similar to New-VSCodeTask.ps1) which will check for the existence of Register-EditorTask (or PSES being loaded) and then register all available tasks in the editor using the aforementioned command
-
The user will create a workspace profile which will invoke your command on their build script so that the build tasks are auto-registered when they load the project in VS Code.
How does that sound? Can you see any problems with this approach? Any better ideas?