We’re excited to announce the June 2025 release of the Python, Pylance and Jupyter extensions for Visual Studio Code!
This release includes the following announcements:
- Python chat tools
- Language Server based terminal suggest in the Python REPL
- Create Project from a template in the Python Environments extension
- PyEnv and Poetry support in the Python Environments extension
- Controlled rollout of the Python Environments extension
If you’re interested, you can check the full list of improvements in our changelogs for the Python, Jupyter and Pylance extensions.
Python chat tools
The Python extension now includes the following chat tools: “Get information for a Python Environment”, “Get executable information for a Python Environment”, “Install Python Package” and “Configure Python Environment”. You can either directly reference them in your prompt by adding #getPythonEnvironmentInfo
and #installPythonPackage
, or agent mode will automatically call the tool as applicable based on your prompt. These tools seamlessly detect appropriate environment information, based on file or workspace context, and handle package installation with accurate environment resolution.
The “Configure Python Environment” tool ensures that the Python environment is set up correctly for the workspace. This includes creating a virtual environment if needed, and selecting it as the active Python environment for your workspace.
Tools that were previously introduced in the Python Environments extension (preview) have been migrated to the Python extension, thereby making these tools available to all users with the Python extension installed.
Language Server based terminal suggest in the Python REPL
Language server completions are now available in the terminal for interactive Python REPL sessions. This brings the same language completions you receive in the editor, now inside the terminal making terminal interactions more efficient.
To try it out, ensure the following settings are enabled:
setting(terminal.integrated.shellIntegration.enabled:true)
setting(python.terminal.shellIntegration.enabled:true)
setting(terminal.integrated.suggest.enabled:true)
setting(python.analysis.supportAllPythonDocuments:true)
Create Project from a template in the Python Environments extension
The Python Environments extension (preview) now supports project creation for Python packages and basic scripts, allowing you to bypass scaffolding and get coding more quickly. Use the Python Envs: Create Project from Template command in the Command Palette to select whether you want to create a package or a script and let the command handle the rest!
For package creation, you can expect to name the package, create a virtual environment, and receive a scaffolded project which includes a tests subfolder, pyproject.toml
, dev-requirements.txt
, and boilerplate __main__.py
and __init__.py
files.
For scripts, a new Python file with the name of your choice and boilerplate code will be created.
PyEnv and Poetry support in the Python Environments extension
We added support for pyenv for environment management, and poetry for both package and environment management in the Python Environments extension. This ensures you can manage pyenv and poetry environments as your normally would in the support UI contributed by the Python Environments extension. When pyenv or poetry are installed on your machine, they will appear as support environment managers in the Python panel accessed in the Activity Bar.
Controlled rollout of the Python Environments extension
We’re starting to roll-out the Python Environments extension as an optional dependency with the Python extension beginning with a subset of pre-release users this month. What this means is you may now begin seeing the Python Environments extension automatically installed along side the Python extension, similar to the Python Debugger and Pylance extensions. This controlled rollout allows us to gather early feedback and ensure reliability before general availability. The Python Environments extension includes all the core capabilities we’ve introduced so far including: Quick Create for one-click environment setup using Quick Create, automatic terminal activation (via "python-envs.terminal.autoActivationType"
setting), and all supported UI for environment an package management.
You can install the preview version of the Python Environments extension from the Extension Marketplace if you would like to try it out. Please let us know if there are any issues or feature requests via our vscode-python-environments repo.
We would also like to extend special thanks to this month’s contributors:
- @dineshcsdev Added
shortTitle
toexecSelectionInTerminal
command in vscode-python#25007 - @albus-droid Added pylock to activation events in vscode-python#25025
- @s-kai273 Fixed env error handling in vscode-python#25049
- @kycutler Fix
TypeError
from trying to read directory in vscode-python-debugger#692
Try out these new improvements by downloading the Python extension and the Jupyter extension from the Marketplace, or install them directly from the extensions view in Visual Studio Code (Ctrl + Shift + X or ⌘ + ⇧ + X). You can learn more about Python support in Visual Studio Code in the documentation. If you run into any problems or have suggestions, please file an issue on the Python VS Code GitHub page.
0 comments
Be the first to start the discussion.