Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>UV For VSCodeNew to Visual Studio Code? Get it now.
UV For VSCode

UV For VSCode

BaZz

|
616 installs
| (1) | Free
Full uv toolchain for VS Code — packages, Python, venvs, tools, cache
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

UV Manager for VS Code

UV Manager preview

A Visual Studio Code extension that brings the full uv Python toolchain into your editor — built to complement the tools from Astral.

Version Installs License uv


UV Manager gives you a full graphical interface for uv inside VS Code. Manage Python packages, virtual environments, Python versions, and the uv cache — all without leaving your editor.


✦ Features

📦 Package Management View, add, remove, and update packages with a single click
🐍 Python Versions Install and pin Python versions using uv
🌐 Virtual Environments Create and manage venvs directly from the sidebar
🔗 Dependency Graph Interactive D3 force graph of every installed package — hover to trace what a package uses / is used by, drag to pin, search to spotlight
🧬 Venv Anatomy Zoomable sunburst of a venv by size on disk, grouped by top-level package (exclusive deps) vs shared deps, plus a "heaviest packages" list
🐍 Interpreter Matrix Python-logo grid of CPython / free-threaded / PyPy / GraalPy versions — see what's installed, your venv's interpreter and pin at a glance; click to install or pin
🩺 Project Health Live uv → pyproject.toml → uv.lock → .venv pipeline on the Actions tab: spots a stale lockfile, a missing venv, a Python version that doesn't match .python-version, and packages that drifted from uv.lock — with a one-click fix
🔎 Searchable Actions Type (or press /) to filter, arrow keys + Enter to run, hover to preview/copy the exact uv command, recent actions on top, collapsible groups
▶️ Scripts panel [project.scripts], poe and taskipy tasks, and PEP 723 inline scripts as one-click buttons — with exit code, duration and a run-history timeline. Also available in Tasks: Run Task (type uv) for keybindings
📜 PEP 723 inline scripts CodeLens above # /// script blocks: Run script · Add dependency · Lock · dependency list. UV: Add Inline Script Metadata turns any .py into a self-contained script
🔢 Dependency hints In pyproject.toml and script blocks: locked and latest version after every dependency, a hover card (summary, release date, Python support), one-click / quick-fix bump that keeps your specifier style, and completion for package names and versions
🖍️ TOML highlighting Full TOML grammar, plus PEP 508 colouring inside dependency strings (package, extras, versions, markers, URLs) and highlighted # /// script blocks in Python
🎨 Follows your theme Every colour comes from your active VS Code theme — light, dark, high contrast or any custom theme — and updates live when you switch
🗺️ Environment Explorer Open all of the above full-size in an editor tab
⚡ Command Palette Run any uv command without leaving your keyboard
🚀 One-click Install Installs uv for you if it's not already present
🖥️ Cross-platform Works on macOS, Linux, and Windows

⚡ Getting Started

1. Install uv — or let the extension do it for you:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. Open the UV Manager sidebar from the VS Code Activity Bar.

3. Use the sidebar or Command Palette to manage packages, environments, and Python versions.


🛠 Requirements

  • uv — the extension can install it automatically
  • Python — for virtual environment and package management

📋 Commands

All commands are available via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) or the sidebar UI.

Command Description
UV: Refresh Reload package and environment info
UV: Add Package Add a new package to your project
UV: Remove Package Remove a package and its dependencies
UV: Sync Environment Sync your environment with the lockfile
UV: Run Script Run a script using uv
UV: Install UV Install uv on this machine
UV: Show Package Details View details and dependencies for a package
UV: Open Environment Explorer Open the interactive venv / Python / package visualisations in an editor tab

⚙️ Extension Settings

Setting Default
uv.dependencyHints.enabled true Locked / latest hints next to dependencies
uv.dependencyHints.checkLatest true Look up latest versions on PyPI (cached 3 h). Turn off for fully offline use
uv.pypiUrl https://pypi.org PyPI-compatible JSON API for lookups and completions

No custom settings yet — UV Manager works out of the box.

Settings support is planned for a future release.


⚠️ Known Issues

  • Some features may require the latest version of uv — keep uv updated for best results
  • Only supports projects using uv for Python package management

📦 Release Notes

0.0.1 — Initial Release

First release of UV Manager for VS Code.

1.0.1 — Bug Fixes

Fixed issue #.

1.4.0 — Scripts, inline scripts, dependency hints, TOML highlighting

  • Scripts tab: every [project.scripts] entry, [tool.poe.tasks] / [tool.taskipy.tasks] task and PEP 723 script in the workspace, runnable with one click (or Enter), with arguments, stop, and go-to-definition. Runs are real VS Code tasks, so exit codes and durations are recorded: a D3 timeline of recent runs (height = duration, colour = result), per-script sparklines, pass rate and median time. Scripts are also exposed as uv tasks for Tasks: Run Task and keybindings.
  • PEP 723: CodeLens on # /// script blocks — Run script, Add dependency (uv add --script), Lock / re-lock (uv lock --script), and a dependency list with remove. New command UV: Add Inline Script Metadata inserts a block (Python version taken from your pin).
  • Dependency hints in pyproject.toml and script blocks: locked 2.32.3 · ↑ 2.33.0 minor after each dependency (click to bump), hover card with PyPI summary, latest release date and links, quick fix Bump X to … and Bump all outdated, completion of package names (from your venv, lockfile, uv cache and the most-downloaded PyPI projects) and versions. Bumps keep your specifier style (==, >=, ~=) and only drop an upper cap when the new version would violate it; afterwards you're offered uv sync / uv lock.
  • Syntax highlighting: TOML grammar for pyproject.toml, uv.lock etc.; PEP 508 requirement strings are coloured (package, extras, operators, versions, environment markers, URLs) only inside dependency arrays; # /// script blocks are highlighted as TOML in Python files. If you use another TOML extension, the requirement colouring is injected into its grammar too.

1.3.0 — Matches your theme

  • All charts use your theme's own chart colours (charts.*); extra categories are blends of them, so a theme switch recolours everything instantly with no reload.
  • Graph lines and labels use charts.lines / charts.foreground; tooltips use the hover-widget and shadow colours; the Environment Explorer tab uses the editor background instead of the sidebar's.
  • High-contrast themes (dark and light): contrast borders on buttons, cards, tooltips and chart marks, stronger focus outlines, and no faint low-opacity states.
  • The "Run in venv" button and CodeLens use a new $(uv-run) product icon, so they're tinted like every other icon in your theme (was a fixed pink image).
  • Fixed: the health pipeline could fail to draw if it refreshed while the Actions tab was hidden.

1.2.0 — Actions tab: project health & faster workflow

  • Project health pipeline (D3): uv → pyproject → uv.lock → venv, each stage coloured by status with a flowing link when healthy. Hover for details (e.g. which dependencies changed since the last lock); click to fix (lock, sync, init, recreate venv) or to open pyproject.toml / uv.lock.
  • Lock vs installed drift bar: in sync / wrong version / not installed / not in lock. Click a segment to list the packages and sync. Platform-specific and optional dependencies in uv.lock are not counted as missing.
  • Recommended action: the single most important fix is shown as a banner and badged in the list.
  • Health refreshes automatically when pyproject.toml, uv.lock, .python-version or the venv change — including commands you run by hand in a terminal.
  • Actions are searchable (/ to focus, ↑/↓, Enter, Esc), show the exact uv command on hover with a copy button, remember your recent actions, and groups can be collapsed (remembered).
  • "Install UV" shows the installed version; "uv cache size" shows the size inline when your uv supports it.

1.1.0 — Interactive visualisations

  • Packages → Graph view: force-directed dependency graph (D3). Node size = install size; hover highlights dependencies (green) and dependents (orange); click opens details; drag to pin, double-click to release; filter box spotlights matches.
  • Python → Interpreter matrix: every interpreter uv python list knows about, drawn as Python logos by implementation × minor version. Your venv's interpreter glows, the .python-version pin is marked; click to pin an installed one or install a missing one.
  • Venvs → Anatomy sunburst: click any venv card to see what's inside it by size on disk. Each top-level package owns its exclusive dependencies (what uv remove would free); deps used by several packages are grouped as shared. Click to zoom, centre to go back.
  • UV: Open Environment Explorer command (and title-bar button) opens everything full-size.
  • Fixed: venv cards showed Python ? for uv-created venvs (version_info in pyvenv.cfg).
  • Fixed: package names are now PEP 503–normalised when building the tree, so typing_extensions / typing-extensions are matched correctly.

🔗 Resources

  • uv Documentation
  • Astral — the team behind uv and ruff
  • VS Code Extension Guidelines
  • Markdown Syntax Reference

Built with ♥ to complement the Astral ecosystem.

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