Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>JB Run WidgetNew to Visual Studio Code? Get it now.
JB Run Widget

JB Run Widget

DrFormat

|
3 installs
| (0) | Free
JetBrains-style Run widget (configuration, Run, Debug, Stop) and Run/Debug Configurations dialog with forms for Python, FastAPI, Django, Flask, pytest, Node.js, npm, Cargo, Go and Java, on top of launch.json.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

JB Run Widget

A JetBrains-style Run widget and Run/Debug Configurations dialog for VS Code. Pick a configuration, then Run, Debug, Stop or Rerun it from the status bar, and edit configurations in forms like those of PyCharm, WebStorm, RustRover, GoLand and IntelliJ IDEA.

Everything is stored in the usual .vscode/launch.json, so VS Code's own Run and Debug view has the same configurations.

Run widget

On the right of the status bar:

  • the selected configuration with the icon of its type. Click it to pick another one: ▷ and 🐞 next to each start it right away, and Edit Configurations… is at the bottom of the list;
  • ▷ Run starts the configuration without the debugger. While it runs, it turns into ↻ Rerun;
  • 🐞 Debug starts it under the debugger. While debugging, it turns into ↻ Rerun;
  • ■ Stop, while the configuration runs.

Run, Debug and Stop are also at the top right of editors (the jbRunWidget.editorTitleButtons setting turns them off).

Starting a configuration that is already running asks to stop and rerun it, unless Allow multiple instances is on for it. Configurations that attach to a running process (Python Remote Debug, Attach to Node.js, Remote JVM Debug) have Debug only, as in JetBrains IDEs.

Run/Debug Configurations

Edit Configurations… opens the dialog above the whole window:

  • on the left, the configurations grouped by type. + adds one: type to search the list. − removes the selected configuration, ⧉ copies it;
  • on the right, the form of the selected configuration: Name, Allow multiple instances, the fields of its type, and Before launch (a task to run first). Edit as JSON shows the launch.json entry itself, for anything the form doesn't cover;
  • Run, Debug, Cancel, Apply and OK at the bottom.

The forms follow the JetBrains IDEs:

Type What it starts Debugger extension
Python a script or a module, with parameters Python Debugger
FastAPI an application with Uvicorn, Hypercorn or fastapi dev. The application name is found in the file Python Debugger
Django Server manage.py runserver with host, port, options, No reload and Run browser Python Debugger
Flask Server flask run for a script, a module or a custom target, with FLASK_DEBUG Python Debugger
pytest the tests in a file, a folder or a module, with keywords (-k) and arguments Python Debugger
Python Remote Debug attaches to a process through debugpy (connect or listen) or to a local process, with path mappings Python Debugger
Node.js a JavaScript file, with Node parameters and application parameters built in
npm a script of a package.json with npm, yarn or pnpm. The scripts of the package.json are listed built in
JavaScript Debug a URL in Chrome or Edge built in
Attach to Node.js a Node.js process started with --inspect built in
Cargo cargo run, cargo test or cargo bench with their options, program arguments after -- CodeLLDB
Go Build a package or a file Go
Go Test the tests of a package, with a pattern Go
Application a Java main class, with VM options and program arguments Debugger for Java
Remote JVM Debug a JVM started with the JDWP agent. The form shows the arguments to start it with Debugger for Java
Compound several configurations at once —

The Python types have an Environment section as in PyCharm: environment variables, env file, Python interpreter (virtual environments of the project are found), interpreter options, working directory, Add content roots to PYTHONPATH, and the console to run in.

Configurations of any other debugger (C/C++, PlatformIO, containers and so on) get a form built from the settings that debugger describes.

When the debugger of a type isn't installed, its form says which extension it needs and has an Install button. The form works as soon as the extension is installed.

Paths are shown in full, as in JetBrains IDEs, and saved relative to ${workspaceFolder}. Saving changes only what you edited: the comments and formatting of launch.json stay, and Undo in the launch.json editor takes the change back. Allow multiple instances is kept by the extension for the workspace, because launch.json has no such setting.

Keyboard

macOS Windows and Linux
Run ⌃R Shift+F10
Debug ⌃D Shift+F9
Pick a configuration and run it ⌃⌥R Alt+Shift+F10
Pick a configuration and debug it ⌃⌥D Alt+Shift+F9
Stop ⌘F2 Ctrl+F2

Run, Debug and the picking keys are left to the terminal while it has focus. On macOS, ⌃R and ⌃D take the place of VS Code's Open Recent and Delete, and ⌘F2 is Stop only while something runs.

To start a particular configuration with a key of your own, pass its name:

{ "key": "ctrl+alt+b", "command": "jbRunWidget.run", "args": "Backend" }

jbRunWidget.debug works the same way.

In the dialog: ⌘Enter (Ctrl+Enter) is OK, Esc is Cancel, and in the list of configurations ⌘D (Ctrl+D) copies the selected one and Delete removes it.

Requirements

VS Code 1.90 or newer, and the debugger extensions from the table for the types you use. The dialog opens above the window in VS Code versions with modal editors (the workbench.editor.useModal setting); otherwise it opens as an editor tab.

License

MIT. The licenses of the bundled open-source libraries are in ThirdPartyNotices.txt, which comes with the extension.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft