Python in Visual Studio Code – August 2020 Release
We are pleased to announce that the August release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about Python support in Visual Studio Code in the documentation.
In this release we addressed a total of 38 issues, and it includes:
- Support for multiple Python interactive windows
- Pylance as an officially supported language server setting value
- Smart signature help with Pylance
If you’re interested, you can check the full list of improvements in our changelog.
Support for multiple Python interactive windows
We’re excited to announce that you can now start multiple Python interactive windows with the Python extension! This was one of the most requested features on the Python in VS Code GitHub repo.
By default, every time you run the “Python: Create Python Interactive Window” command in the command palette (View > Command Palette…), it will create a new interactive window in VS Code:
Code cells from Python scripts by default will still be executed in a same interactive window. However, you can now configure the Python extension to run separate files in separate interactive windows. Just open the settings page (File > Preferences > Settings), search for “interactive window mode” and change the setting value to “perFile”.
Now when you run cells from different files, they will each run on their own separate window:
If you would like to remain with the single interactive window behavior, you can set the value of the interactive window mode to “single”.
Pylance as an officially supported language server value
This release includes support to officially add Pylance as a supported value in our python.languageServer setting. You can now set Pylance via the settings editor UI in Visual Studio Code. If you haven’t already installed Pylance, you can download it from the marketplace or simply set this value and we will prompt you to install it! If you missed the announcement about our new Pylance language server, you can read more about it here.
Improved signature help for overloaded functions in Pylance
Pylance has also improved how it displays signature help when you are invoking a function with multiple overrides. You can now navigate between signatures easily while Pylance bolds the appropriate active parameter.
Other Changes and Enhancements
We have also added enhancements and fixed issues requested by users that should improve your experience working with Python in Visual Studio Code. Some notable changes include:
- Cell editing shortcuts for python interactive cells that help make doing data science work directly in Python files even more productive (thanks to @earthastronaut!). (#12414)
- Added a command to restart the language server. (#3073)
- Update to the latest version of jedi (0.17.2). This adds support for Python 3.9 and fixes some bugs, but is expected to be the last release to support Python 2.7 and 3.5. (thanks Peter Law). (#13037)
We’re constantly A/B testing new features. If you see something different that was not announced by the team, you may be part of the experiment! To see if you are part of an experiment, you can check the first lines in the Python extension output channel. If you wish to opt-out of A/B testing, you can open the user settings.json file (View > Command Palette… and run Preferences: Open Settings (JSON)) and set the “python.experiments.enabled” setting to false.
Be sure to download the Python extension for Visual Studio Code now to try out the above improvements. If you run into any problems or have suggestions, please file an issue on the Python VS Code GitHub page.
That is nice but while is rust not implemented in vs
love how off topic people can get sometimes.
Great addition to the plugin! Thanks for the update.
Can you share which library has been used in your function overload example? My understanding is the python devs opted against implementing overloading of a function, particularly overloading based on arguments types. I expect I need to use this particular library as my own implementation may not change the functions signature in the virtual namespace as is expected by pylance?
Hi, this is new to learn. I will keep on following you. Do you provide python certification like cloud council ?
Thanks very much for the update.
Awesome update thanks so much! This held me back switching from Pyhcarm to VS-Code.
Short question / Feature Request: is it possible to configure the green “Run Python File in Terminal” so that it runs the whole code in the Interactive Window instead of the Terminal? I know I can also hit “Run Below” above my first code cell to achieve the same but some of my files don’t have cells and hitting the green triangle seems more intuitive.
Thanks so much!
Thanks for sharing!!
This is really helps us for Python training in Pune. Python programming makes more easy with visual studio code. Keep sharing new updates.