microsoft / microsoft/vscode-python-environments

Support `uv run` as an optional default run action.

Open
#1,281 1 comment 47 reactions 2 assignees Claimed by @anthonykim1 View on GitHub
area-environment feature-request help wanted needs community feedback
Dominant language
TypeScript
Stars
138
Forks
62
Avg merge
1d 4h
Merged PRs (30d)
35

Description

Currently, the Run Python File in Terminal play button (and the default python debugger) is hardcoded to run the current python file using the activated environment.

For [uv scripts with dependencies](https://docs.astral.sh/uv/guides/scripts/#declaring-script-dependencies) this causes an issue.

If it were possible to configure this as a setting to run using `uv run ${file}` instead, it would allow seamless integration for rust scripts, same for the debugger.

I've come from related issues: https://github.com/astral-sh/uv/issues/8558, https://github.com/astral-sh/uv/issues/7803, and https://github.com/astral-sh/ty-vscode/issues/353, but realised it's not possible to implement this feature anywhere other than the vscode-python repo.

Debugging can work with a custom launch.json specifying `uv run --with-requirments ${file} python`, but this has the caveat that it will fail for scripts with no inline dependencies defined. Being able to use just `uv run` as the actual command would allow it to always work. Though my guess is this requires work on debugpy itself to better support uv.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.