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

|
381,876 installs
| (28) | 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 M.I.A.... A Short Story and an apology... From this extension's inception many years ago, to the time my beloved daughter and I were working on it together in 2022 and 2023 with her high hopes of it turning into a licensable product (i.e. $$$ in her eyes), to the time life changed 4ever when I lost her in April of '23 and became undoubtedly 4everbroken, to now the present day... after the overwhelming pain of each and every day had started to seem normalized, what we had last worked on together I was finally able to pick back up and continue, and now the initial preview versions have started to be released. I sincerely apologize to all users for the absence of any development over the last few years.s cmdline-banner

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

package_json version Installs Downloads Ratings GitHub issues open GitHub issues closed GitHub last commit

src0 src1 src2 src3 src4 src5 src6 src7 src8 src9 src10 src11 src12 src13 src14 src15 src16 src17 src18 src19

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
    • Licensing
    • 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
    • Roadmap Version 3.x
    • Roadmap Version 4 (Preliminary)
    • App-Publisher and Webpack-Wrap
    • Feedback & Issues
    • Rate It - Leave Some Stars
    • Thank You
    • Pre-V3 Release Features History

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

Licensing

Note that this release and all upcoming preview releases are fully functionality and for all intents and purposes is what will eventually be the "licensed version" of this extension once the licensing scheme goes into effect. Afterwards, a 30-day trial can be activated, and if necessary an additional 30-day trial can be activated by making a formal request through the website's contact page. Also no worries if a license may not be an option, because the free-for-use functionality is probably comparable to what any current users had already been used to from v2.

When the extension's Preview phase is over and the licensing scheme becomes active, please consider purchasing a cheap++ license to unlock all features and support both continued development and my beloved never-forgotten daughter's grand plan. During the Preview phase licensing is not active and the extension is fully functional.

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

Roadmap Version 3.x

  • TaskBuddy View
  • Configure additional/external task providers not implemented internally
  • TaskMonitor View sorting and filtering
  • TaskMonitor View 'All' Tab task control collapsible groupings by project
  • Drag and Drop TaskMonitor View Integration with TaskBuddy View and/or Reporting
  • Telemetry | Usage Reporting
  • NodeJS .bin type task provider
  • Run count competitions for taskfabulous prizes
  • Support for jsconfig.json files in Typescript provider
  • Additional Typescript static tasks, e.g. js/ts syntax checks, esm/cjs tests, etc
  • Configurable Glob Patterns to customize provider file matching
  • Support for level-1 task grouping by project in Favorites folder
  • Create inline or parallel ran "composite tasks" via treenode multi-selection
  • Github static type task provider
  • Gitlab static type provider
  • Jenkins static type task provider
  • Additional performance enhancements
  • Webpack-Wrap task provider and integration | localized ci-like implementation
  • App-Publisher task provider and integration | localized ci-like implementation
  • Auto-detect project svg logos to display in Favorites folder groups
  • Web Portal providing account login and license assets / info
  • Integrated Web Portal pages providing settings configuration from a rich UI
  • React based Settings View providing settings configuration from a rich in-Vscode UI
  • Visual Studio Extension preview release
  • Eclipse Plugin preview release

Roadmap Version 4 (Preliminary)

  • ASR support - configurable voice recognition
  • TTS support - configurable audible notifications
  • Smarthome https/wss api service, if applicable
  • Smarthome device support, where and if applicable
  • Smarthome device control support, where and if applicable
  • Support multiple configurable instances of TaskBuddy View
  • Github Issues integration
  • Gitlab Issues integration
  • MantisBT Issues integration
  • Integrated Web Portal pages providing task automation from a rich UI
  • VSCode Web browser build

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 that can be ran locally from a development workspace, i.e. CI without most of the headache for lone devs and small teams.

Feedback & Issues

Report any feedback, bugs, suggestions or requests via Github Issues

You can make direct inquiries as well using the website's contact page

Feel free to check out the Version Control System for open source utilities and libraries used in all @spmhome projects, of course available for public use with an account and licensed under the MIT license and other well known open source license, with the latter project dependent according to any 3rd party package dependencies used by that particular package/project.

Rate It - Leave Some Stars

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

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

Pre-V3 Release Features History

  • 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
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft