Launch Bar
Status bar switcher and run/debug/stop buttons for the launch configurations you already have.
Launch Bar never invents configurations. It reads your real launch.json files, shows the one you
picked in the status bar, and hands launching straight to VS Code's debug API. Whatever works from
the Run and Debug panel works here — with one click instead of four.
Why
VS Code's Run and Debug view is a whole sidebar panel for what is usually a two-second action:
pick a config, start it, stop it. Launch Bar puts exactly that in the status bar and stays out of
the way otherwise.
Features
- Config switcher — click the status bar item to pick from every configuration and compound in
the workspace, showing the debug type and (in multi-root workspaces) the source folder.
- Run without debugging — the play button starts the selected config with
noDebug: true.
- Debug — the debug button starts the same config with the debugger attached.
- Stop — replaces play while the selected config is running, and stops only that config's
sessions.
- Run several configs at once — starting config B while config A runs is fine. Each config
tracks its own sessions, and the
● marker shows which ones are live, both in the status bar and
in the switcher list.
- Compounds — compound entries are launched by name, exactly as VS Code resolves them.
- Remembers your choice — the selected config is stored per workspace and restored on reload.
- Follows your edits — the config list refreshes when any
launch.json changes; a selection
that disappears falls back to the first available config.
Where configurations come from
Launch Bar reads both places VS Code stores them:
.vscode/launch.json in each workspace folder
- the
launch section of a .code-workspace file
Configs with the same name in different folders are kept separate. In a single-folder workspace,
folder-sourced configs win over the workspace file on a name tie.
Usage
The status bar shows ⌄ <config name> plus the buttons. Click the name to switch, the play or
debug button to start, the stop button to end it.
All four actions are also in the Command Palette, where they show the config picker first:
| Command |
What it does |
Launch Bar: Select Configuration |
Change the selected config |
Launch Bar: Run (without debugging) |
Pick a config and run it |
Launch Bar: Debug |
Pick a config and debug it |
Launch Bar: Stop |
Pick a running config and stop it |
Settings
| Setting |
Default |
Description |
launchBar.alignment |
left |
Which side of the status bar to place the items on. |
launchBar.priority |
100 |
Status bar priority. Higher values move the items further left, for both alignments. |
Both settings are read when the extension activates, so reload the window after changing them.
Requirements
VS Code 1.75 or newer. No other dependencies — Launch Bar only uses the built-in debug API, so it
works with every debug adapter you already have installed.
Known limitations
- Compound session tracking is best-effort. VS Code launches compounds by name and gives
extensions no way to mark the resulting sessions, so Launch Bar claims member sessions by
matching their names within two seconds of the launch. A member that takes longer than that to
start is not tracked, and stop will not reach it.
- Configs sharing a name across folders share running state. In a multi-root workspace, two
folders that both define a config called
Server are treated as running together in the status
bar indicator.
- Child sessions are not tracked individually. Sessions a debug adapter spawns underneath your
session (subprocess debugging, for instance) are not claimed directly; stopping the parent
normally takes them down with it.
License
Copyright © 2026 PT Adaptiv Solusi Informatika. All rights reserved.
Launch Bar is proprietary software, distributed free of charge. You may use it for
any purpose, including commercial work. Redistribution, modification, and
republication to any extension registry are prohibited. See the LICENSE.txt file
shipped with the extension for the full terms.