microsoft / microsoft/vscode-python-environments
Support `uv run` as an optional default run action.
- 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
Assessment
This issue has not been assessed yet.