October 6th, 2023
heart4 reactions

Python in Visual Studio Code – October 2023 Release

Courtney Webster
Program Manager

We’re excited to announce the October 2023 release of thePython andJupyter extensions for Visual Studio Code!

This release includes the following announcements:

  • Python Debugger extension updates
  • Deprecation of Python 3.7 support
  • Lint on change option for Pylint extension
  • Mypy extension reporting scope and daemon mode
  • Grace Hopper Conference and Open Source Day Participation

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

Python Debugger extension updates

TheDebugpy extension, which was announced afew months ago, has been renamed to “Python Debugger” for improved discoverability in the marketplace.

This extension now includes a new User settingdebugpy.debugJustMyCode that, when disabled, allows you to step into system or third-party library code for all your applications (by default, the debugger steps only into your own Python code). This was a popular feature request for those who wanted to more conveniently disable justMyCode to all of their projects, instead of having to manually configure it in each of their projects’launch.json debug configurations.

To try it out, make sure you have thePython Debugger extension installed. Then open the settings UI (File > Preferences > Settings), search for “debugJustMyCode” and disable the checkbox:

Image debugger just my code setting

Now once you create alaunch.json file, it will use the value ofdebugpy.debugJustMyCode by default, as long asjustMyCode is not specified in the file. Note that whenjustMyCode is specified, its value will take precedence over thedebugpy.debugJustMyCode setting.

Lint on change option for Pylint extension

By default, thePylint extension only reports errors and warnings when a file is saved. There’s now a new setting calledpylint.lintOnChange that once set totrue, will enable the extension to report errors and warnings as you type, without having to save the file.

Mypy extension reporting scope and daemon mode

TheMypy Type Checker extension has now two new settings to allow you to specify mypy’s reporting scope and whether to use mypy’s daemon.

The first ismypy-type-checker.reportingScope, which can be set tofile (the default) to enable problems to be reported only for open files in the workspace, orworkspace to enable reporting for all files in the workspace.

The second ismypy-type-checker.preferDaemon, which when set totrue, will usemypy’s daemon (dmypy) instead of mypy itself (mypy) to perform type checking, which can be much faster in some scenarios.

Deprecation of Python 3.7 support

As previously mentioned in ourJuly 2023 release blog, we have dropped official Python 3.7 support in the Python extension. There are no plans to actively remove support for Python 3.7, and so we expect the extension will continue to work unofficially with Python 3.7 for the foreseeable future.

Keep in mind, all other releases of Python are now on an annual release cadence, thus, we expect to stop official support for a Python release once it reaches end of life in the first extension release of the following calendar year (i.e., Python 3.8 is scheduled to reach EOL in October 2024, so the first extension release in 2025 will stop official support).

Grace Hopper Conference and Open Source Day Participation

On September 22nd, our team participated inOpen Source Day! Open Source Day is an all-day hackathon and a part of Grace Hopper Celebration, the largest celebration of women and non-binary technologists in open source. During this event, attendees work with peers as well as experienced mentors to contribute to several open source projects.

We were thrilled to have participated once again in this event and would like to thank all of the mentors who participated in this event alongside us, and to each one of the participants who contributed to our projects:

There are a number of “quick fix” feature issues open for those who are looking to contribute! We hope to encourage the Python community to contribute and maintain the various extensions we have created in any way they can. You can find these issues labeled asgood first issue within thevscode-python,vscode-pylint,vscode-flake8,vsocde-isort,vscode-mypy, andvscode-black-formatter repositories. We encourage contributions on any issue that does not already have an assignee.

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:

  • “Use Existing” and “Delete and Recreate” for Create Environment command enabled for conda environments(vscode-python#21828)
  • Support go to definition on__getattr__ with Pylance(pylance-release#4764)
  • The setting to enable inlay hints for partial call arguments (python.analysis.inlayHints.callArgumentNames) can now be set topartial to disable hints for positional-only and keyword-only parameters, orall to enable them(pylance-release#4543)

Try out these new improvements by downloading thePython extension and theJupyter 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 aboutPython support in Visual Studio Code in the documentation. If you run into any problems or have suggestions,please file an issue on thePython VS Code GitHub page.

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

Category
Topics
Share

Author

Courtney Webster
Program Manager

Stay informed

Get notified when new posts are published.
Follow this blog
youtube