Nifty Python Envs
See and manage every Python environment: project venvs (uv or venv), uv-managed Pythons, conda and pyenv. Create, activate in terminals, pick for the workspace, and manage packages.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features


- Every Python in one place. The Python Environments view in the Explorer lists this project's virtual environments (
.venv, venv and any other folder with a pyvenv.cfg, marked when uv made them), pixi environments, the Python versions uv can see (including uv-managed ones), conda environments and pyenv versions.
- uv first, but not only uv. Create Virtual Environment uses uv when it's installed (fast, and it can download the Python version you ask for) and falls back to
python -m venv. Right after, it installs your dependencies: uv sync with a uv.lock, otherwise requirements.txt or the project itself from pyproject.toml.
- Pick the environment for the workspace with one click. With Microsoft's Python extension installed, it becomes the selected interpreter there too. The status bar shows which one is active.
- Terminals in the right environment. Open a terminal with any environment active (PATH and
VIRTUAL_ENV set, like after activate), including conda environments.
- Packages at a glance. Expand a project environment to see its packages; Check for Outdated Packages lists what can be upgraded and upgrades the ones you tick. Install a Package uses
uv add in uv projects so it's recorded in pyproject.toml.
- Clean up: delete a project environment you don't need any more.
Commands
| Command |
What it does |
Nifty Python Envs: Select Environment for Workspace… |
Choose the Python this project uses |
Nifty Python Envs: Create Virtual Environment… |
New venv with uv or python -m venv |
Nifty Python Envs: Install Project Dependencies |
uv sync, requirements.txt or pyproject.toml |
Nifty Python Envs: Open Terminal in Environment |
A terminal with the environment active |
Nifty Python Envs: Check for Outdated Packages… |
Upgrade packages |
Nifty Python Envs: Install a Package… |
uv add / pip install |
Nifty Python Envs: Delete Environment… |
Remove a project environment |
Settings
| Setting |
Default |
What it does |
nifty.python-envs.uvPath |
"" |
Path to uv (empty: uv on the PATH, then python -m uv) |
nifty.python-envs.installAfterCreate |
true |
Install dependencies after creating an environment |
nifty.python-envs.uvAddToProject |
true |
Use uv add in projects with pyproject.toml |
nifty.python-envs.includeConda |
true |
List conda environments |
nifty.python-envs.showInStatusBar |
true |
Show the selected environment |
Install
- VS Code: search for "Nifty Python Envs" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty Code Runner: Run Code in 25+ Languages: Run the current file or selection in 25+ languages in the terminal, with input support, your own commands and no telemetry. (Open VSX)
- Nifty NuGet: NuGet Package Manager: Search, add, update and remove NuGet packages, see outdated and vulnerable ones, in VS Code, Cursor and every editor. (Open VSX)
- Nifty pytest: pytest Test Explorer: A pytest test explorer with saved run configurations, marker filters, real assertion diffs, rerun-failed and slowest-test reports. (Open VSX)
- Nifty Python Profiler: cProfile Hotspots Inline: Profile Python scripts and pytest runs with cProfile: hotspot table, call counts and timings inline next to each function. (Open VSX)
- Nifty Beautify: Format HTML in PHP, Blade & Twig: Format HTML inside PHP, Blade, Twig, Jinja, Handlebars, ERB and Liquid templates without breaking the template tags. (Open VSX)
- Nifty Branches: Clean Up Merged Git Branches: Safely clean up merged, squash-merged, gone and stale git branches, with a preview and one-click restore. (Open VSX)
See all 100+ Nifty extensions and web tools at https://getnifty.dev
| |