Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Dynamic CommandsNew to Visual Studio Code? Get it now.
Dynamic Commands

Dynamic Commands

Patrick Heydorn

| (0) | Free
Define and run custom commands in VS Code using simple XML configuration — no coding required.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Dynamic Commands for VS Code

Define and run custom commands in VS Code using simple XML configuration — no coding required.

Features

  • No-code command creation — Define commands in a single commands.xml file without writing any extension or TypeScript code.
  • Multiple placement surfaces — Commands can appear in the status bar, Activity Bar, Explorer panel, editor title bar, editor context menu, Source Control panel, and more.
  • Nested menus and submenus — Group related commands into collapsible QuickPick menus and nested submenus for a clean, organised workspace.
  • Flexible actions — Run shell commands, launch external applications, show message boxes, or chain multiple actions in sequence per command.
  • IntelliSense via XSD schema — The bundled commands.xsd file gives you autocomplete and validation when editing commands.xml in VS Code.

How it works

You describe your commands in a commands.xml file at the root of your workspace. The extension reads that file automatically on startup (and whenever you run Dynamic Commands: Refresh) and registers each command in the appropriate VS Code surface — status bar buttons, tree views, context menus, and more.

Getting started

  1. Install the extension from the Marketplace.
  2. Open a workspace folder and run Dynamic Commands: Create commands.xml from the Command Palette (Ctrl+Shift+P).
  3. Edit the generated commands.xml (IntelliSense is available automatically).
  4. Run Dynamic Commands: Refresh to reload your commands.
  5. Invoke commands via the status bar buttons, the Explorer panel, or Dynamic Commands: Show Command Picker.

Example

<?xml version="1.0" encoding="utf-8"?>
<XmlCommands xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="commands.xsd"
             target="statusbar">

  <!-- Single status bar button -->
  <XmlCommand buttonTitle="Say Hello" icon="comment" alignment="left" priority="1000">
    <MessageBoxCommand text="Hello from Dynamic Commands!" caption="Dynamic Commands" buttons="OK" />
  </XmlCommand>

  <!-- Status bar menu with nested build commands -->
  <XmlMenuItem buttonTitle="Build" icon="tools" alignment="left" priority="999">
    <XmlCommand buttonTitle="Build Solution">
      <RunApplicationCommand path="dotnet" arguments="build" />
    </XmlCommand>
    <XmlCommand buttonTitle="Run Tests">
      <RunApplicationCommand path="dotnet" arguments="test" />
    </XmlCommand>
    <XmlCommand buttonTitle="Publish">
      <RunApplicationCommand path="dotnet" arguments="publish -c Release" />
    </XmlCommand>
  </XmlMenuItem>

  <!-- Explorer panel tree item -->
  <XmlCommand buttonTitle="Open Terminal" icon="terminal" target="explorer">
    <RunApplicationCommand path="cmd.exe" arguments="/c start cmd.exe" />
  </XmlCommand>

</XmlCommands>

Requirements

  • VS Code 1.120.0 or later.
  • No additional runtime dependencies — the extension is fully self-contained.

License

GPL-3.0-only

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