Visual Studio Code

Visual Studio Code’s extension manager (https://code.visualstudio.com), driven through the code CLI.

The Marketplace cannot be queried from the CLI: no search, outdated or upgrade command exists (extensions self-update in the background), so only the installed listing, install and remove are declared.

No version_regexes: code --version prints the bare version, then the commit hash and the arch on their own lines, and the default regex picks the first token up.

Platforms

  • 🅱️ BSD

  • 🐧 Linux

  • 🍎 macOS

  • ⨂ Unix

  • 🪟 Windows

Operations

Operation

Supported

installed

outdated

search

install

upgrade

upgrade_all

remove

sync

cleanup

Ecosystem

Usage

$ mpm --vscode installed
$ mpm install pkg:vscode/hello
$ mpm --dry-run install pkg:vscode/hello

Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.

Deselect the manager for a single run with --no-vscode, disable it from your configuration, or tune its invocation attributes with per-manager overrides.

Command line

  • CLI names, in lookup order: code

The version is probed by running:

$ code --version
1.60.2
7f6ab5485bbc008386c4386d08766667e155244e
x64

and extracted with:

r"(?P<version>\S+)"

Privilege escalation

mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.

None of its operations needs root.

See privilege escalation for the full policy.

Cooldown

State of Visual Studio Code’s release-age gating, from the cooldown support table:

With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.

Reference traces

Raw native outputs captured in the bundled definition: the reference mpm’s parsers were written against. If you know Visual Studio Code well and a transcript below looks wrong, or a newer release changed its output format, report it.

$ code --list-extensions --show-versions
ms-python.python@2021.9.1246542782
ms-toolsai.jupyter@2021.8.2041215044
tamasfe.even-better-toml@0.14.2