{"id":8285,"date":"2021-03-16T12:45:13","date_gmt":"2021-03-16T20:45:13","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/python\/?p=8285"},"modified":"2021-03-16T13:01:19","modified_gmt":"2021-03-16T21:01:19","slug":"python-in-visual-studio-code-march-2021-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-march-2021-release\/","title":{"rendered":"Python in Visual Studio Code \u2013 March 2021 Release"},"content":{"rendered":"<p><span data-contrast=\"none\">We are pleased to announce that the\u00a0<\/span><span data-contrast=\"none\">M<\/span><span data-contrast=\"none\">arch\u00a0<\/span><span data-contrast=\"none\">2<\/span><span data-contrast=\"none\">021<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">release of the Python Extension for Visual Studio Code is now available. You can \u202f<\/span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\"><span data-contrast=\"none\">download the Python extension<\/span><\/a><span data-contrast=\"none\">\u202f <\/span><span data-contrast=\"none\">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 \u202f<\/span><a href=\"https:\/\/code.visualstudio.com\/docs\/python\/python-tutorial\"><span data-contrast=\"none\">Python support in Visual Studio Code<\/span><\/a><span data-contrast=\"none\">\u202f in the documentation. <\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This release largely focused on bug fixes and stabilization work in our Python,\u00a0Pylance\u00a0and\u00a0Jupyter\u00a0extensions, and\u00a0<\/span><span data-contrast=\"auto\">includes\u00a0<\/span><span data-contrast=\"auto\">a preview of improved Jedi language server support for our Python Insiders.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">If you\u2019re interested, you can check the\u00a0<\/span><span data-contrast=\"none\">full list of improvements i<\/span><span data-contrast=\"none\">n\u00a0<\/span><span data-contrast=\"none\">our\u00a0<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/blob\/master\/CHANGELOG.md\"><span data-contrast=\"none\">changelog<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW43528441 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW43528441 BCX8\" data-ccp-parastyle=\"Title\">A preview of improved\u00a0<\/span><\/span><span class=\"TextRun SCXW43528441 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun CommentStart SCXW43528441 BCX8\" data-ccp-parastyle=\"Title\">Jedi<\/span><\/span> <span class=\"TextRun SCXW43528441 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun CommentStart SCXW43528441 BCX8\" data-ccp-parastyle=\"Title\">language server\u00a0<\/span><\/span><span class=\"TextRun SCXW43528441 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW43528441 BCX8\" data-ccp-parastyle=\"Title\">support<\/span><\/span><span class=\"EOP SCXW43528441 BCX8\" data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">W<\/span><span data-contrast=\"none\">e now have more have robust and performant\u00a0<\/span><span data-contrast=\"none\">language support for Jedi language server\u00a0users<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">on the Insiders program of the Python extension!<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Our team has been working hard to unify the way\u00a0<\/span><span data-contrast=\"none\">that language servers communicate w<\/span><span data-contrast=\"none\">ith the Python extension<\/span><span data-contrast=\"none\">. As<\/span><span data-contrast=\"none\">\u00a0a result,\u00a0<\/span><span data-contrast=\"none\">we\u2019ve<\/span><span data-contrast=\"none\">\u00a0updated Jedi to abide by the\u00a0<\/span><a href=\"https:\/\/microsoft.github.io\/language-server-protocol\/\"><span data-contrast=\"none\">Language Server Protocol (LSP)<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">Alongside improved performance\u00a0<\/span><span data-contrast=\"none\">for features like c<\/span><span data-contrast=\"none\">ompletions<\/span><span data-contrast=\"none\">\u00a0and\u00a0<\/span><span data-contrast=\"none\">out-of-the-box error reporting<\/span><span data-contrast=\"none\">, t<\/span><span data-contrast=\"none\">his\u00a0<\/span><span data-contrast=\"none\">also\u00a0<\/span><span data-contrast=\"none\">update simplifies\u00a0<\/span><span data-contrast=\"none\">the Python extension by<\/span><span data-contrast=\"none\">\u00a0eliminating\u00a0<\/span><span data-contrast=\"none\">the need<\/span><span data-contrast=\"none\">\u00a0to install\u00a0<\/span><span data-contrast=\"none\">pylint<\/span><span data-contrast=\"none\">,\u00a0<\/span><span data-contrast=\"none\">ctags<\/span><span data-contrast=\"none\">\u00a0and rope.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2021\/03\/jediLSP.gif\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-8286\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2021\/03\/jediLSP.gif\" alt=\"Auto completions and docstrings with Jedi\" width=\"1649\" height=\"976\" \/><\/a><\/p>\n<p><span data-contrast=\"auto\">If you want to try this out, you can join our Insiders program by opening the command palette (View &gt; Command Palette\u2026) and run the \u201cPython: Switch to Insiders Weekly Channel\u201d. Once the insiders build finishes\u00a0<\/span><span data-contrast=\"auto\">downloading<\/span><span data-contrast=\"auto\">, you will be prompted to reload the window. If you haven\u2019t set a value to the language server setting, you will be then using the new Jedi language server. Otherwise<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0you can set the \u201c<\/span><span data-contrast=\"auto\">python.languageServer<\/span><span data-contrast=\"auto\">\u201d setting to \u201c<\/span><span data-contrast=\"auto\">JediLSP<\/span><span data-contrast=\"auto\">\u201d.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We look forward to bringing this experience to the stable version of the Python extension, so if you try this out and see any issues with it, please file a\u00a0<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-python\/issues\/new?assignees=&amp;labels=classify%2C+type-bug&amp;template=2_bug_report.md\"><span data-contrast=\"none\">bug report<\/span><\/a><span data-contrast=\"auto\">.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">This exciting change leverages an\u00a0<\/span><a href=\"https:\/\/github.com\/pappasam\/jedi-language-server\"><span data-contrast=\"none\">existing implementation<\/span><\/a><span data-contrast=\"none\">\u00a0of Jedi behind a language server, so we\u2019d like to thank\u00a0<\/span><a href=\"https:\/\/github.com\/pappasam\"><span data-contrast=\"none\">Samuel\u00a0<\/span><span data-contrast=\"none\">Roeca<\/span><\/a><span data-contrast=\"none\">\u00a0and\u00a0<\/span><a href=\"https:\/\/github.com\/davidhalter\"><span data-contrast=\"none\">David Halter<\/span><\/a><span data-contrast=\"none\">\u00a0for being great partners on this initiative!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW121242267 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW121242267 BCX8\">Other Changes and Enhancements<\/span><\/span><span class=\"EOP SCXW121242267 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">We have also added small enhancements and fixed issues requested by users that should improve your experience working with Python in Visual Studio Code. Some notable changes include:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Add\u00a0<\/span><span data-contrast=\"none\">python.tensorBoard.logDirectory<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">setting\u00a0<\/span><span data-contrast=\"none\">to omit log directory prompt when starting\u00a0<\/span><span data-contrast=\"none\">TensorBoard<\/span><span data-contrast=\"none\">\u00a0session<\/span><span data-contrast=\"none\">s<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">(<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-python\/issues\/15476\"><span data-contrast=\"none\">#15476<\/span><\/a><span data-contrast=\"none\">)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">The Python extension is now activated when the following files are found:\u00a0<\/span><span data-contrast=\"none\">Pipfile<\/span><span data-contrast=\"none\">,\u00a0<\/span><span data-contrast=\"none\">setup.py<\/span><span data-contrast=\"none\">,\u00a0<\/span><span data-contrast=\"none\">requirements.txt<\/span><span data-contrast=\"none\">,\u00a0<\/span><span data-contrast=\"none\">manage.py<\/span><span data-contrast=\"none\">,\u00a0<\/span><span data-contrast=\"none\">app.py.<\/span><span data-contrast=\"none\">\u00a0(thanks\u00a0<\/span><a href=\"https:\/\/github.com\/soneji\"><span data-contrast=\"none\">Dhaval Soneji<\/span><\/a><span data-contrast=\"none\">) (<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/4765\"><span data-contrast=\"none\">#4765<\/span><\/a><span data-contrast=\"none\">)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"none\">Add configuration\u00a0<\/span><span data-contrast=\"none\">debugpyPath<\/span><span data-contrast=\"none\">. (thanks\u00a0<\/span><a href=\"https:\/\/github.com\/djplt\"><span data-contrast=\"none\">djplt<\/span><\/a><span data-contrast=\"none\">) (<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/14631\"><span data-contrast=\"none\">#14631<\/span><\/a><span data-contrast=\"none\">)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"none\">Fix\u00a0<\/span><span data-contrast=\"none\">Mypy<\/span><span data-contrast=\"none\">\u00a0linter pointing to wrong column number. (thanks\u00a0<\/span><a href=\"https:\/\/github.com\/anttipessa\/\"><span data-contrast=\"none\">anttipessa<\/span><\/a><span data-contrast=\"none\">,\u00a0<\/span><a href=\"https:\/\/github.com\/haalto\/\"><span data-contrast=\"none\">haalto<\/span><\/a><span data-contrast=\"none\">,\u00a0<\/span><a href=\"https:\/\/github.com\/JeonCD\/\"><span data-contrast=\"none\">JeonCD<\/span><\/a><span data-contrast=\"none\">\u00a0and\u00a0<\/span><a href=\"https:\/\/github.com\/junskU\"><span data-contrast=\"none\">junskU<\/span><\/a><span data-contrast=\"none\">) (<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/14978\"><span data-contrast=\"none\">#14978<\/span><\/a><span data-contrast=\"none\">)<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\n<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">We<\/span><span data-contrast=\"none\">\u2019re constantly\u00a0<\/span><span data-contrast=\"none\">A\/B test<\/span><span data-contrast=\"none\">ing<\/span><span data-contrast=\"none\">\u00a0new 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\u00a0<\/span><span data-contrast=\"none\">of<\/span><span data-contrast=\"none\">\u00a0A\/B testing, you can open the user\u00a0<\/span><span data-contrast=\"none\">settings.json<\/span><span data-contrast=\"none\">\u00a0file (<\/span><b><span data-contrast=\"none\">View\u00a0<\/span><\/b><span data-contrast=\"none\">&gt;\u00a0<\/span><b><span data-contrast=\"none\">Command Palette&#8230;<\/span><\/b><span data-contrast=\"none\">\u00a0and run\u00a0<\/span><b><span data-contrast=\"none\">Preferences: Open Settings (JSON)<\/span><\/b><span data-contrast=\"none\">)<\/span><b><span data-contrast=\"none\">\u00a0<\/span><\/b><span data-contrast=\"none\">and set the &#8220;<\/span><i><span data-contrast=\"none\">python.experiments.enabled<\/span><\/i><span data-contrast=\"none\">&#8221; setting to\u00a0<\/span><i><span data-contrast=\"none\">false<\/span><\/i><span data-contrast=\"none\">.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:1,&quot;335559739&quot;:160,&quot;335559740&quot;:285}\">\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Be sure to \u202f<\/span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\"><span data-contrast=\"none\">download the Python extension<\/span><\/a><span data-contrast=\"none\">\u202f for Visual Studio Code now to try out the above improvements. If you run into any problems<\/span><span data-contrast=\"none\">\u00a0or have suggestions<\/span><span data-contrast=\"none\">,\u00a0<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-python\/issues\/new\/choose\"><span data-contrast=\"none\">please file an issue<\/span><\/a><span data-contrast=\"none\"> on the \u202f<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\"><span data-contrast=\"none\">Python VS Code GitHub<\/span><\/a><span data-contrast=\"none\">\u202f page.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are pleased to announce that the\u00a0March\u00a02021\u00a0release of the Python Extension for Visual Studio Code is now available. This release largely focused on bug fixes and stabilization work in our Python,\u00a0Pylance\u00a0and\u00a0Jupyter\u00a0extensions, and\u00a0includes\u00a0a preview of improved Jedi language server support for our Python Insiders.\u00a0\u00a0<\/p>\n","protected":false},"author":1064,"featured_media":8286,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-8285","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","category-visual-studio-code"],"acf":[],"blog_post_summary":"<p>We are pleased to announce that the\u00a0March\u00a02021\u00a0release of the Python Extension for Visual Studio Code is now available. This release largely focused on bug fixes and stabilization work in our Python,\u00a0Pylance\u00a0and\u00a0Jupyter\u00a0extensions, and\u00a0includes\u00a0a preview of improved Jedi language server support for our Python Insiders.\u00a0\u00a0<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/8285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/users\/1064"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/comments?post=8285"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/8285\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media\/8286"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media?parent=8285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/categories?post=8285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/tags?post=8285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}