We’re excited to announce the September 2025 release of the Python, Pylance and Jupyter extensions for Visual Studio Code!
This release includes the following announcements:
- Experimental AI-powered hover summaries with Pylance
- Run Code Python Snippet AI tool
- Python Environments extension improvements, including pipenv support
If you’re interested, you can check the full list of improvements in our changelogs for the Python, Jupyter and Pylance extensions.
This month you can also help shape the future of Python typing by filling out the 2025 Python Type System and Tooling Survey: https://jb.gg/d7dqty
Experimental AI-powered hover summaries with Pylance
A new experimental AI Hover Summaries feature is now available for Python files when using the pre-release version of Pylance with GitHub Copilot. When you enable the setting(python.analysis.aiHoverSummaries
) setting, you can get helpful summaries on the fly for symbols that do not already have documentation. This makes it easier to understand unfamiliar code and boosts productivity as you explore Python projects. At the moment, AI Hover Summaries are currently available to GitHub Copilot Pro, Pro+, and Enterprise users.
We look forward to bringing this experimental experience to the stable version soon!
Run Code Snippet AI tool
The Pylance Run Code Snippets tool is a powerful feature designed to streamline your Python experience with GitHub Copilot. Instead of relying on terminal commands like python -c "code"
or creating temporary files to be executed, this tool allows GitHub Copilot to execute Python snippets entirely in memory. It automatically uses the correct Python interpreter configured for your workspace, and it eliminates common issues with shell escaping and quoting that sometimes arise during terminal execution.
One of the standout benefits is the clean, well-formatted output it provides, with both stdout and stderr interleaved for clarity. This makes it ideal when using Agent mode with GitHub Copilot to test small blocks of code, run quick scripts, validate Python expressions, or checking imports, all within the context of your workspace.
To try it out, make sure you’re using the latest pre-release version of Pylance. Then, you can select the pylancerunCodeSnippet
tool via the Add context… menu in the VS Code Chat panel.
Note: As with all AI-generated code, please make sure to inspect the generated code before allowing this tool to be executed. Reviewing the logic and intent of the code ensures it aligns with your project’s goals and maintains safety and correctness.
Python Environments extension improvements
We appreciate your feedback and are excited to share several enhancements to the Python Environments extension. Thank you to everyone who submitted bug reports and suggestions to help us improve!
Improvements to Conda experience
We focused on removing friction and unexpected behavior when working with Conda environments:
- When creating a new Conda environment through the UI, you can now pick the Python version up front.
- Conda activation and sourcing has been improved across different OS and shell types, with clearer logging.
- The Copy Interpreter Path action now returns the actual Python binary instead of a
conda run
wrapper - The proper Conda and Pixi executables are used when debugging.
Pipenv support
Pipenv environments are now discovered and listed in the Environments Manager view.
Better diagnostics and control
We’ve made it easier to identify and resolve environment-related issues. When there are issues with the default environment manager, such as missing executables, clear warnings are now surfaced to guide you through resolution.
Additionally, there’s a new Run Python Environment Tool (PET) in Terminal command which gives you direct access to running the back-end environment tooling by hand. This tool simplifies troubleshooting by allowing you to manually trigger detection operations, making it easier to diagnose and fix edge cases in environment setup.
Quality of life improvements
We also reduced paper cuts to make your experience with the extension smoother. These include:
- Add as Python project menu item is now always available, enabling a more consistent flow for setting a folder as a Python project.
- Interpreter paths with spaces are now properly handled when debugging.
- Environments are now always refreshed on new project creation.
- Conda activation logic is consolidated with clearer logging.
- We audited and removed shell profile edits which are outdated or no longer needed given VS Code core shell integration improvements.
- We tightened the logic that resolves the default interpreter so it honors your defaultInterpreterPath (including script wrappers) without silently “correcting” it.
- We have a new setting called
python.useEnvFile
which controls whether environment variables from.env
files and thepython.envFile
setting are injected into terminals when the Python Environments extension is enabled. - venvFolders are now included in the extension’s search path. Please note that we plan to deprecate the
python.venvFolders
setting in favour of a new one in the future, to enable better flexibility when setting up environment search paths.
We are continuing to roll-out the extension. To use it, make sure the extension is installed and add the following to your VS Code settings.json
file: "python.useEnvironmentsExtension": true
. If you are experiencing issues with the extension, please report issues in our repo, and you can disable the extension by setting "python.useEnvironmentsExtension": false
in your settings.json
file.
Call for Community Feedback
This month, the Python community is coming together to gather insights on how type annotations are used in Python. Whether you’re a seasoned user or have never used types at all, your input is valuable! Take a few minutes to help shape the future of Python typing by participating in the 2025 Python Type System and Tooling Survey: https://jb.gg/d7dqty.
Other Changes and Enhancements
We have also added small enhancements and fixed issues requested by users that should improve your experience working with Python and Jupyter Notebooks in Visual Studio Code. Some notable changes include:
- The
python.analysis.supportAllPythonDocuments
setting has been removed, making Pylance IntelliSense now enabled in all Python documents by default, including diff views and Python terminals.
We would also like to extend special thanks to this month’s contributors:
- @almarouk Enhanced conda executable retrieval with path existence checks in vscode-python-environments#677
- @osiewicz Fixed prefix of attach shared library for Windows in debugpy#1939
- @sjsikora Stricter pip list Package Parsing in vscode-python-environments#698
- @timrid Check if
os.__file__
is available before using it in debugpy#1944
Try out the 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.