Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Task ExplorerNew to Visual Studio Code? Get it now.
Task Explorer

Task Explorer

Preview

Scott Meesseman

|
372,116 installs
| (21) | Free Trial
Tasks and Scripts GUI | Visual UI for easy execution and management of tasks and scripts
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Task Explorer - Tasks and Scripts Visual Control

logo If you have kids, hug and squeeze them every single chance you get... I lost my daughter ~2 years ago, I loved her with every ounce of my soul, now every day is filled with overwhelming sadness, I am... 4everbroken. We were working on this together when she left me, please consider purchasing a (cheap++) license when the licensing scheme goes into effect. cmdline-banner

home vcs projecttype projectlang webpack-wrap app-publisher eslint-config

Installs Downloads Ratings

src0_1 src0_2 src11 src4 src6 src1 src0y src14e src2 src3 src8 src9 src13 src5_1 src5_2 src7 src10 src12 src14 src13

Description

Provides configurable treeviews that display all supported tasks and scripts, organized by project folder and groupings. Tasks can be opened for view/edit, executed, stopped, restarted, etc.

Table of Contents

  • Task Explorer - Tasks and Scripts Visual Control
    • Description
    • Table of Contents
    • Screenshots by Version
    • Requirements
    • Version 3
    • Features by Pre-V3 Release
    • Configuring Global Excludes, Apache Ant and Bash Globs
    • Ant and Gulp Self-Provided Tasks
    • Using Groups with a Separator
    • Internally Provided Tasks vs. VSCode Provided Tasks
    • Running Shell Scripts
    • Task Icon Animations
    • Task Monitor
    • Task Reports and Details
    • Feedback & Contributing
    • App-Publisher and Webpack-Wrap
      • Rate It - Leave Some Stars
      • Licensing
    • Thank You

Screenshots by Version

Latest Explorer Tray Sidebar View (v1.7) Task Type Groups (v1.13)
ss0 ss1 ss2
Grunt/Gulp in Subfolders (v1.14) Npm Commands (v1.16) Task Groupings (v1.23)
ss4 ss5 ss6
Multi-Level Task Groupings (v1.29) Run with Args, No Terminal (1.30) Last Tasks (1.25) Favorites (2.0)
ss7 ss8 ss9

Requirements

  • NodeJS 22.15+
  • Visual Studio Code v1.102+

"Should" work with NodeJS 18 and VSCode 1.68+, recommended version of VSCode is 1.102.x or above and NodeJS 22.15+.

Version 3

  • Significant performance enhancements
  • Several fixes including longtime pre-v2 bugs
  • TaskMonitor View | fullscreen task controls
  • ESLint static type task provider
  • NodeJS script type task provider
  • NPM task provider to replace the limited VSCode provider
  • Improvements running NPM tasks for both internal and VSCode provider
  • Typescript task provider to replace the limited VSCode provider
  • Laravel task provider (via collabarator)
  • Optional encrypted data persistence
  • Taskfile caching (optional) | lower startup times
  • Restoration of tasktree 'collapsed' or 'expanded' node states
  • Stats and Runtime Tracking
  • Stats and Runtime Quick Reports
  • Re-organized Settings with groups
  • Enhanced Sidebar View container
  • Improved grouping of multiple taskfiles in same project
  • Support for up to 15 tree grouping levels
  • Release Notes View
  • Improved logging for better support and faster resolution of issues

Features by Pre-V3 Release

  • v2.7 - External provider integration API #22
  • v2.6 - Composer support #150 Include shellscripts with no extension #153 Rename tasks #164
  • v2.5 - Webpack build - Runs 10-15% faster.
  • v2.4 - Add Pipenv support for Python Pipfile scripts. (thanks rob4226) #155
  • v2.3 - App-Publisher v2.0 support. Several fixes including long time issue #143.
  • v2.2 - Support for Maven (closes #107)
  • v2.1 - App Publisher changelog pull tasks
  • v2.0 - All async-await processing, Favorites (closes #101), Clear special task lists
  • v1.30 - Configurable default click action (closes #97), Add 'Run with Arguments' command (closes #88), Add 'Run with NoTerminal' command (closes #39) (note that as of VSCode 1.53, there seems to be a bug that prevents running tasks without showing the terminal).
  • v1.29 - Support multi-level task groupings (closes #129), Support user tasks (closes #127)
  • v1.28 - Support Makefile aliases (thanks MichaelCurrin)
  • v1.27 - Use gulp and ant to find their respective tasks (configurable on/off) (closes #105), Make grouping separator configurable (thanks richarddavenport)
  • v1.26 - Add 'Running Task' status bar message (refs #47)
  • v1.25 - Add 'Last Tasks' pseudo-folder
  • v1.24 - Add 'Open Terminal' button to running tasks (closes #23)
  • v1.23 - Task groupings with dashed task groups (Off by default)
  • v1.22 - Major performance enhancements - Task Tree / Task Scanning
  • v1.21 - Add option to keep terminal open after stopping task (closes #51)
  • v1.20 - Add support for restarting task (thanks antfu)
  • v1.19 - App-Publisher task support for BETA testing
  • v1.18 - Add 'Add to excludes' action in task file node context menu
  • v1.17 - Add 'Run last task' button to titlebar
  • v1.16 - Add npm management tasks to npm file node context menus
  • v1.15 - Support for gradle tasks (includes provider) (closes #15)
  • v1.14 - Support for grunt and gulp task files not located in the project root (closes #12)
  • v1.13 - Multiple task files of the same type placed within a group node for less clutter in folder level nodes
  • v1.12 - Support for bash, batch, perl, powershell, python, ruby, and nsis scripts (includes provider)
  • v1.11 - N/A - Obsolete Batch Task Provider replaced by v1.12 ScriptProvider
  • v1.10 - Support for Makefiles (includes provider)
  • v1.9 - Support for gulp and grunt tasks (includes provider)
  • v1.8 - Support for ant files not named [Bb]uild.xml, ansicon output colorization fixed
  • v1.7 - Two view types - Use one or both of either SideBar View and/or Explorer Tray
  • v1.6 - Progress icons for running tasks
  • v1.6 - Stop execution button for running tasks
  • v1.5 - Support for Apache Ant tasks (includes provider)
  • v1.4 - Support for TSC tasks
  • v1.3 - Support for Visual Studio Code tasks
  • v1.2 - Convenient layout - groups all tasks by project folder, by task file, by task
  • v1.1 - Supports multi-root or single-root workspaces
  • v1.0 - Open and launch NPM scripts as tasks

Configuring Global Excludes, Apache Ant and Bash Globs

The setting exclude defines a file/directory pattern or an array of file/directory patterns to ignore using Glob Patterns or a valid File URI. The setting applies to all script types. For example:

  • taskexplorer.exclude: [ "**/.vscode-test/**", "**/vendor/**", "**/out/**", "**/output/**", "/c:/projects/project1/src/theme/test/package.json" ]

Note that the glob pattern "**/node_modules/**" is applied by default to the excludes list in all cases. Using the exclude configuration can greatly improve performance in large workspaces if configured correctly.

Task files that are found by Task Explorer can also be added to the excludes list via the tree node context menu, by right clicking the task file or task group node, and selecting Add to Excludes.

Apache Ant uses an .xml file extension, the setting globPatternsAnt can be used to specify other file names other than [Bb]uild.xml to include as ant files so that all xml files do not need to be searched (slowing down tree refreshes in large workspaces or project with a large number of various xml files). The setting defines a file pattern or an array of file patterns to include using Glob Patterns or a valid File URI, for example:

  • taskexplorer.globPatternsAnt: [ "**/extraTasks.xml", "**/scripts/ant/*.xml", "/c:/projects/project1/scripts/test/antetests.xml" ]

Note that the glob pattern "**/[Bb]uild.xml" is applied by default to the Ant includes list in all cases. If you don't include the asterisked glob pattern **/ first in the string, files in sub-folders will not be found.

In the same way as for Ant tasks, Bash scripts without extensions can be configured to be found by the Bash Task Provider by using glob patterns in the same way, with the globPatternsBash setting:

  • taskexplorer.globPatternsBash: [ "**/bash_scripts/**", "**/sh/scripts/**", "/usr/local/bin/start_task" ]

Ant and Gulp Self-Provided Tasks

By default, a custom parser is used to locate Ant and Gulp tasks in respective files. This may be fine in most cases, but in cases where the script and/or build files become complex, or there is something in the file that was not coded into the parser, you can use the ant and gulp programs themselves to find their own tasks. Note however that turning this on has a negative performance impact when refreshing and providing tasks to the VSCode Task Host.

Using Groups with a Separator

The Groups With Separator option is an extra level of task groupings that can be made based on a configured separation character in the script or task name. This option can be turned on/off with the Group With Seperator 'Settings -> Extensions -> Task Explorer -> Grouping' options in the VSC Settings, the default is on and the default separator is a dash/hyphen ("-").

For example, consider 10 npm tasks, 5 of which all start with the string dev-, 5 of which start with the string prod-. Prior to Version 1.23, this would create 10 individual task nodes within the main npm task node in the task tree:

npm
    dev-build
    dev-build-server
    dev-build-themes
    dev-cp-from-binVV
    dev-clean
    prod-build
    prod-build-server
    prod-build-themes
    prod-cp-from-bin
    prod-clean

By enabling the Group With Separator option in Settings and setting the Group Separator to a dash ("-") two new grouped nodes would be created underneath the main npm node, one called dev and the other called prod. Each of these two sub-nodes of course would contain the respective dev- and prod- scripts/tasks, minus the prepended group name:

npm
    dev
        build
        build-server
        build-themes
        cp-from-bin
        clean
    prod
        build
        build-server
        build-themes
        cp-from-bin
        clean

Internally Provided Tasks vs. VSCode Provided Tasks

Workspace (.vscode/tasks.json) tasks are provided by VSCode. All other task types are or can be internally provided by TE. It is recommended to use the TE NPM provider as opposed to the provider that ships with the VSC IDE, and for a significant increase in performance, ensure that the 'Settings -> Extensions -> Npm -> Auto Detect' options is turned off** in VSCode Settings. By default this is turned on, so if NPM tasks are randomly not displaying or NPM task startup is lagging, please check this setting. It is also recommended that the Grunt and Gulp providers that ship with the VSC IDE are turned off as well, 'Settings -> Extensions -> Grunt -> Auto Detect' and 'Settings -> Extensions -> Gulp -> Auto Detect'.

Detection of all internally provided task types can be turned on/off in Settings - 'Settings -> Extensions -> Task Explorer -> Task Providers'.

Running Shell Scripts

Shell scripts, e.g. Bash/sh, batch, powershell, will have the shell executable automatically set to the corresponding shell when the script is ran. The shell executable used can be set explicitly in the VSC Settings, i.e. 'Settings -> Extensions -> Task Explorer -> Providers -> Paths to Programs'.

Task Icon Animations

FOr whatever reason, on some systems the animated running task icon eats a lot of CPU. If this is your case, the animated icon can be turned off in settings (on by default).

Task Monitor

The Task Monitor is a webview style task console, i.e. a glorified console for developers going blind, offering some different options and a different look and feel as opposed to the original task treeviews.

task-monitor-img1 task-monitor-img2

Task Reports and Details

For debugging or curiosity, sme initial reports or details pages can be generated listing all parsed tasks, usage over time, etc. You can generate reports and/or details pages via various context menus or navigation header icon buttons.

parsing-report-img task-details-img

Feedback & Contributing

  • Please report any bugs, suggestions or documentation requests via the Issues
  • Feel free to submit Pull Requests
  • Contributors

App-Publisher and Webpack-Wrap

app-publisher-cmdline-banner spmh-cmdline-banner2

Integrates with the app-publisher and webpack-wrap utility packages that emulate a small scale ci environment run locally from a project workspace, i.e. CI without the headache for individual devs and small teams.

Rate It - Leave Some Stars

Please rate your experience with stars... like five of them ;)

Licensing

Please consider purchasing a cheap++ license to support continued development and my beloved daughter's plan.

Thank You

Icon Contributors:

  • pkief - Material Icon Theme
  • idleberg - NSIS Extension
  • Microsoft - VSCode
  • Microsoft - Maven for VSCode

Other Contributors:

  • antfu
  • eamodio (fixed #114)
  • MichaelCurrin
  • tiansin
  • JacobParis
  • Spitfire1900
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft