BarTask
Quick-access status bar buttons for running npm scripts and shell commands — no terminal juggling required.
How it works
Add a .vscode/quicktasks.json file to your project and BarTask will place a clickable button in the right side of the status bar for each task. Click once to start, click again to stop.
{
"tasks": [
{ "label": "Dev", "command": "npm run dev" },
{ "label": "Tests", "command": "npm test -- --watch" }
]
}
Features
- One button per task — each task gets its own dedicated status bar item
- Click to toggle — start and stop tasks without opening a terminal
- Color changes on run — the button turns the theme's error color while the task is active
- Custom icons — override the default play/stop codicons per task
- Process group kill — stopping a task also terminates any child processes it spawned (e.g. Node servers)
- Hot reload — changes to
quicktasks.json are picked up immediately, no reload needed
- Output channel — stdout and stderr are streamed to the BarTask output panel
Configuration
Basic task
{
"tasks": [
{
"label": "Dev Server",
"command": "npm run dev"
}
]
}
Custom icons
Use any VS Code codicon name:
{
"tasks": [
{
"label": "Dev Server",
"command": "npm run dev",
"startIcon": "rocket",
"stopIcon": "squirrel"
}
]
}
| Field |
Type |
Default |
Description |
label |
string |
— |
Button text. Supports $(icon-name) prefix for a codicon. |
command |
string |
— |
Shell command to run. |
startIcon |
string |
debug-start |
Codicon shown when the task is idle. |
stopIcon |
string |
debug-stop |
Codicon shown when the task is running. |
Activation
BarTask activates automatically when a workspace contains .vscode/quicktasks.json.