April 4th, 2025

Python in Visual Studio Code – April 2025 Release

Courtney Webster
Program Manager

We’re excited to announce the April 2025 release of the Python, Pylance and Jupyter extensions for Visual Studio Code!

This release includes the following announcements:

  • Enhanced Python development using Copilot and Notebooks
  • Improved support for editable installs
  • Faster and more reliable diagnostic experience (Experimental)
  • Pylance custom Node.js arguments

If you’re interested, you can check the full list of improvements in our changelogs for the Python, Jupyter and Pylance extensions.

Enhanced Python development using Copilot and Notebooks

The latest improvements to Copilot aim to simplify notebook workflows for Python developers. Sign in to a GitHub account to use Copilot for free in VS Code!

Copilot now supports editing notebooks, using both edit mode and agent mode, so you can effortlessly modify content across multiple cells, insert and delete cells, and adjust cell types—all without interrupting your flow.

VS Code also now supports a new tool for creating Jupyter notebooks using Copilot. This feature plans and creates notebooks based on your query and is supported in all of the various Copilot modes:

  • Edit mode with chat.edits2.enabled:true enabled.
  • Agent mode for autonomous peer programming.
  • Ask mode utilizing the /newNotebook command for quick notebook creation tailored to your project needs.

Lastly, you can now add notebook cell outputs, such as text, errors, and images, directly to chat as context. Use the Add cell output to chat action, available via the triple-dot menu or by right-clicking the output. This lets you reference the output when using ask, edit, or agent mode, making it easier for the language model to understand and assist with your notebook content.

Gif showing attaching cell output as context to Copilot Chat.

These updates expand Copilot support for Python developers in the Notebook ecosystem enhancing your development workflow no matter the file type.

Improved support for editable installs

Pylance now supports resolving import paths for packages installed in editable mode (pip install -e .) as defined by PEP 660 which enables an improved IntelliSense experience in scenarios such as local development of packages or collaborating on open source projects.

This feature is enabled via setting(python.analysis.enableEditableInstalls:true) and we plan to start rolling it out as the default experience throughout this month. If you experience any issues, please report them at the Pylance GitHub repository.

Faster and more reliable diagnostic experience (Experimental)

In this release, we are rolling out a new update to enhance the accuracy and responsiveness of Pylance’s diagnostics. This update is particularly beneficial in scenarios involving multiple open or recently closed files.

If you do not want to wait for the roll out, you can set setting(python.analysis.usePullDiagnostics:true). If you experience any issues, please report them at the Pylance GitHub repository.

Pylance custom Node.js arguments

You can now pass custom Node.js arguments directly to Node.js with the new setting(python.analysis.nodeArguments) setting, when using setting(python.analysis.nodeExecutable). By default, the setting is configured as "--max-old-space-size=8192". However, you can adjust this value to better suit your needs. For instance, increasing the memory allocation can be helpful when working with large workspaces in Node.js.

Additionally, when setting setting(python.analysis.nodeExecutable) to auto, Pylance now automatically downloads Node.js.

We would also like to extend special thanks to this month’s contributors:

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.

Author

Courtney Webster
Program Manager

0 comments