Supported Task Types

Workspace Tasks automatically discovers and organizes tasks from 25+ file types and build systems.


Table of Contents

  1. Overview
  2. Task Discovery Notes
    1. Discovery Patterns
    2. Performance: Task Discovery Depth
  3. Enabling / Disabling Task Types
  4. Next Steps

Overview

Category Description
Package Managers & Build Tools npm, Yarn, pnpm, Bun, Composer, Pipenv, Poetry, Ant, Maven, Gradle, MSBuild
Task Runners Gulp, Grunt, Cargo, cargo-make, Just, Make, mise, Cake Build
DevOps & Containers Docker, Docker Compose, GitHub Actions
Scripts & Other Shell scripts, Python, Jupyter Notebooks, VS Code Tasks, Workspace Tasks
GitHub Actions Integration Run GitHub Actions workflows locally with act

Task Discovery Notes

The extension discovers tasks regardless of whether tools are installed. Execution requires the respective tool to be available in your PATH.

  • All patterns respect .gitignore and .tasksignore exclusions
  • The following patterns are always ignored:
    • **/node_modules/**
    • **/.git/**
    • **/.vscode-test/**
    • **/__pycache__/**

Discovery Patterns

Constant Pattern Should Match Examples
GLOB_GLOBAL_EXCLUDE **/node_modules/**,**/.git/**,**/__pycache__/**,**/vendor/bundle/** ย 
GLOB_EXTENSIONLESS_EXCLUDE **/node_modules/**,**/.git/**,**/.venv/**,**/dist/**,**/out/**,**/build/**,**/coverage/**,**/.vscode/**,**/.vscode-test/**,**/vendor/bundle/** ย 
GLOB_SHELL_EXCLUDE **/.venv/** ย 
GLOB_ANT **/*.xml build.xml
GLOB_CARGO_MAKE **/*.toml any *.toml file (cargo-make can use arbitrary TOML task definition files)
GLOB_DENO **/deno.{json,jsonc} deno.json
deno.jsonc
GLOB_JUST {**/[Jj]ust[Ff]ile,**/.[Jj]ust[Ff]ile,**/*.just} justfile
Justfile
justFile
.justfile
.Justfile
.justFile
foo.just
GLOB_MAVEN **/pom.xml pom.xml
GLOB_MISE **/{mise.toml,mise.local.toml,.mise.toml,mise/config.toml,.mise/config.toml,.config/mise.toml,.config/mise/config.toml,.config/mise/conf.d/*.toml} mise.toml
mise.local.toml
.mise.toml
mise/config.toml
.mise/config.toml
.config/mise.toml
.config/mise/config.toml
.config/mise/conf.d/dev.toml
GLOB_MSBUILD **/*.{csproj,vbproj,vcxproj,xml,proj,sln,targets,*proj,msbuild,build} foo.csproj
foo.vbproj
foo.vcxproj
foo.xml
foo.proj
foo.sln
foo.targets
foo.msbuild
foo.build
foo.anythingproj
foo.bar.proj
GLOB_GULP **/[Gg]ulp[Ff]ile.{m,c,}js gulpfile.js
gulpfile.mjs
gulpfile.cjs
Gulpfile.js
Gulpfile.mjs
Gulpfile.cjs
gulpFile.js
gulpFile.mjs
gulpFile.cjs
GulpFile.js
GulpFile.mjs
GulpFile.cjs
GLOB_GRUNT **/[Gg]runt[Ff]ile.{m,c,}js Gruntfile.js
Gruntfile.mjs
Gruntfile.cjs
gruntfile.js
gruntfile.mjs
gruntfile.cjs
GruntFile.js
GruntFile.mjs
GruntFile.cjs
gruntFile.js
gruntFile.mjs
gruntFile.cjs
GLOB_GRADLE **/*.gradle build.gradle
module.gradle
GLOB_MAKE **/[Mm]ake[Ff]ile Makefile
makefile
MakeFile
GLOB_NODEJS **/package.json package.json
GLOB_PNPM **/package.{json,yaml,yml} package.yaml
package.yml
package.json
GLOB_PERL **/*.pl foo.pl
GLOB_COMPOSER **/composer.json composer.json
GLOB_GITHUB_ACTIONS **/.github/workflows/*.{yml,yaml} .github/workflows/ci.yml
.github/workflows/ci.yaml
.github/workflows/release.yml
.github/workflows/release.yaml
GLOB_GITLAB_CI **/.gitlab-ci.{yml,yaml} .gitlab-ci.yml
.gitlab-ci.yaml
GLOB_CIRCLECI **/.circleci/config.{yml,yaml} .circleci/config.yml
.circleci/config.yaml
GLOB_BITBUCKET_PIPELINES **/bitbucket-pipelines.yml bitbucket-pipelines.yml
GLOB_JUPYTER **/*.ipynb foo.ipynb
GLOB_PYTHON **/*.py foo.py
GLOB_PIPENV **/[Pp]ip[Ff]ile Pipfile
pipfile
PipFile
GLOB_POE **/pyproject.toml pyproject.toml
GLOB_POETRY **/pyproject.toml pyproject.toml
GLOB_RAKE {**/*.rake,**/Rakefile} Rakefile
rakefile
RakeFile
GLOB_RUBY **/*.rb foo.rb
GLOB_TSCONFIG **/tsconfig.{json,*.json} tsconfig.json
tsconfig.app.json
GLOB_VSCODE **/.vscode/tasks.json .vscode/tasks.json
GLOB_MCP **/.vscode/mcp.json .vscode/mcp.json
GLOB_WORKSPACE **/.workspace-tasks.{json,*.json} .workspace-tasks.json
.workspace-tasks.dev.json
GLOB_CMAKE **/CMakeLists.txt CMakeLists.txt
GLOB_CAKE **/*.cake foo.cake
GLOB_TASKFILE **/[Tt]ask[Ff]ile{.dist,.*,}.{yml,yaml} Taskfile.yml
Taskfile.yaml
TaskFile.yml
TaskFile.yaml
taskFile.yml
taskFile.yaml
Taskfile.dist.yml
Taskfile.dist.yaml
TaskFile.dist.yml
TaskFile.dist.yaml
taskFile.dist.yml
taskFile.dist.yaml
Taskfile.local.yml
Taskfile.local.yaml
TaskFile.local.yml
TaskFile.local.yaml
taskFile.local.yml
taskFile.local.yaml

Performance: Task Discovery Depth

Control how deep the extension searches for tasks using the workspaceTasks.taskDiscovery.fetchDepth setting:

{
  "workspaceTasks.taskDiscovery.fetchDepth": 3
}

Depth is measured from the workspace folder root:

workspace-folder/          (depth 0)
โ”œโ”€โ”€ package.json           โœ… depth 0
โ””โ”€โ”€ src/                   (depth 1)
    โ”œโ”€โ”€ Makefile           โœ… depth 1
    โ””โ”€โ”€ components/        (depth 2)
        โ””โ”€โ”€ package.json   โœ… depth 2 (if fetchDepth >= 2)
  • null (default) โ€” Full recursive search
  • Positive integer โ€” Limits search to that depth

Enabling / Disabling Task Types

Use workspaceTasks.enabledTaskTypes in your settings.json to control which task types are active:

{
  "workspaceTasks.enabledTaskTypes": {
    "npm": true,
    "gulp": true,
    "grunt": false,
    "ant": false,
    "gradle": false
  }
}

See the Configuration Reference for the full list of available task type keys.


Next Steps


Table of contents