Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>Breakpoint GroupsNew to Visual Studio Code? Get it now.
Breakpoint Groups

Breakpoint Groups

Al Klein

|
1 install
| (0) | Free
Create named groups of breakpoints and enable/disable them together. View and manage groups in the Run and Debug sidebar. Add lines to groups from the editor. Works with Node, TypeScript, Python, and any language.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Breakpoint Groups

A VS Code extension that lets you create named groups of breakpoints and enable or disable them as a group instead of toggling each breakpoint individually.

UI

  • Run and Debug sidebar – A Breakpoint Groups view lists your groups with enabled/disabled state: each group shows a dot (filled = enabled, hollow = disabled, unverified = some enabled) and label. Click the group row or dot to toggle the group on/off. Expand a group to see file:line entries. Each group has rename (pencil) and delete (trash) icons; each breakpoint entry has a trash icon. Right‑click a group or entry for more actions; clicking an entry opens the file at that line.
  • Editor – Right‑click in the editor and choose Add line to Breakpoint Group to add the current line to an existing group or create a new one. A breakpoint is added at that line if it doesn’t already exist.
  • Command Palette – All actions are also available via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P).

Multilanguage / language-agnostic

Groups are stored as file path + line number only. They work with any debugger that uses source (line) breakpoints, including:

  • Node (JavaScript)
  • TypeScript (ts-node, Node with TS, etc.)
  • Python
  • Any other language that uses VS Code’s standard breakpoint model

The extension does not depend on a specific debug adapter or language. The same breakpoint (file + line) can belong to more than one group.

How breakpoints are tracked

  • We store file + line number only – Groups do not store references to VS Code’s breakpoint objects. Each entry is a location: workspace-relative path and line (0-based). When you enable a group, we create new breakpoints at those locations via the VS Code API; when you disable, we remove/re-add them as disabled.
  • When you add or delete lines – The extension listens to document edits. If you insert or delete lines in a file, stored entries for that file are updated: line numbers below the edit shift, and entries that fall inside deleted lines are removed. So groups stay aligned with the current file content without you having to recreate them.
  • VS Code’s own behavior – VS Code’s built-in breakpoints are also line-based. During a debug session, if you edit the file, VS Code may not always move breakpoints with the code (that behavior is limited). Our stored list is kept in sync with edits so that the next time you enable a group or open the project, the locations are correct.
  • Disabling a breakpoint outside the add-in – If you disable a breakpoint in the gutter (or in the Breakpoints view), that breakpoint is disabled in VS Code even if it belongs to an “enabled” group. The extension does not lock breakpoints: once we set them, they are normal VS Code breakpoints. The group’s status in the sidebar will update (e.g. to “some enabled” or “disabled”) so you can see the current state. Use Enable group again to turn all of that group’s breakpoints back on.

Commands

Command Description
Create group from current breakpoints Save all current source breakpoints as a new named group.
Enable group Enable all breakpoints in the selected group (adds them if missing).
Disable group Disable all breakpoints in the selected group (they stay visible but inactive).
Rename group Rename a breakpoint group (from the view context menu or pencil icon).
Delete group Remove a saved group (does not remove breakpoints from the editor).
Add current breakpoints to group Append current breakpoints to an existing group (no duplicates).
Add line to Breakpoint Group Add the current editor line to a group (and set a breakpoint there if needed).

How to use

  1. Set breakpoints in the gutter as usual (Node, Python, etc.), or use Add line to Breakpoint Group from the editor context menu to add a line and assign it to a group.
  2. In the Run and Debug sidebar, open Breakpoint Groups and use the + (create) button to create a group from current breakpoints, or run the command from the Command Palette.
  3. Right‑click a group in the view to enable, disable, or delete it, or to add current breakpoints to that group.

Persistence and sharing

  • Project load/unload – Groups persist with the project. You do not need to recreate them when you close and reopen the workspace.
  • Where they’re stored – When you open a folder or workspace (not “Open File”), groups are saved in .vscode/breakpoint-groups.json in the project. Paths in that file are workspace-relative (e.g. src/app.ts), so the same file works on any machine.
  • Different machines – Yes. Clone or copy the repo on another computer and open the same folder in VS Code; the Breakpoint Groups view will show the same groups (same files and lines).
  • Git and team sharing – Yes. Commit .vscode/breakpoint-groups.json to your repo so everyone gets the same groups. If you prefer to keep groups personal, add .vscode/breakpoint-groups.json to .gitignore; the extension will then use VS Code’s local workspace state instead (persists only on that machine).

If you open a single file (no folder) or a remote workspace where the extension can’t write a local file, groups are stored in VS Code’s workspace state only and are not shareable.

Packaging and redistribution

Create a installable package (.vsix):

  1. Install the vsce CLI: npm install -g @vscode/vsce
  2. In package.json, set publisher to your Marketplace publisher ID and update repository.url if needed.
  3. Build: npm run compile
  4. Package: vsce package — this produces a .vsix file (e.g. breakpoint-groups-0.2.0.vsix).

Redistribution:

  • Marketplace – Run vsce publish (same account as publisher) to publish. Users can then install via the Extensions view or code --install-extension your-publisher-id.breakpoint-groups.
  • Direct install – Share the .vsix file. Users install via Extensions → ... → Install from VSIX..., or: code --install-extension /path/to/breakpoint-groups-0.2.0.vsix.
  • Private / enterprise – You can host the .vsix on an internal server and install from VSIX, or use a private extension gallery.

What users see when they install

Once the extension is installed (from the Marketplace or from a VSIX), it appears like any other extension:

  • Extensions view (Ctrl+Shift+X / Cmd+Shift+X) – Listed by display name (“Breakpoint Groups”), with your icon, description, publisher (author), and version. Users can click the extension to open its detail page.
  • Detail page – Shows the same name, publisher, description, version, repository link, and Enable / Disable (and Uninstall). Enable/disable works as with other add-ins; the extension is disabled until the user enables it (or it’s on by default). There is no extra “screen” to configure unless you add extension settings or a welcome view.

So name, author (publisher), and enable/disable are all provided by VS Code from your package.json (displayName, publisher, description, etc.); no extra code is required for that UI.

Requirements

  • VS Code ^1.85.0
  • No extra dependencies for Node/TypeScript/Python debugging; use your existing launch configs.

Development

npm install
npm run compile

Then run the extension from VS Code via Run and Debug (F5) and choose “Extension Development”.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft