{"id":7702,"date":"2020-05-12T09:47:09","date_gmt":"2020-05-12T17:47:09","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/python\/?p=7702"},"modified":"2020-06-03T10:52:42","modified_gmt":"2020-06-03T18:52:42","slug":"python-in-visual-studio-code-may-2020-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-may-2020-release\/","title":{"rendered":"Python in Visual Studio Code \u2013 May 2020 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\">ay\u00a0<\/span><span data-contrast=\"none\">20<\/span><span data-contrast=\"none\">20<\/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<\/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\">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 \u00a0<\/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\">in the documentation.\u00a0<\/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\">In this release we\u00a0<\/span><span data-contrast=\"auto\">addressed<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">42<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">issues,<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">and it\u00a0<\/span><span data-contrast=\"auto\">includ<\/span><span data-contrast=\"auto\">es the<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">a<\/span><span data-contrast=\"none\">bility to\u00a0<\/span><span data-contrast=\"none\">browse\u00a0<\/span><span data-contrast=\"none\">for\u00a0<\/span><span data-contrast=\"none\">or\u00a0<\/span><span data-contrast=\"none\">enter an interpreter path on selection<\/span><span data-contrast=\"none\">.\u00a0<\/span><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 <\/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 SCXW217485990 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW217485990 BCX0\" data-ccp-parastyle=\"Title\">Ability to\u00a0<\/span><\/span><span class=\"TextRun SCXW217485990 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW217485990 BCX0\" data-ccp-parastyle=\"Title\">browse<\/span><\/span><span class=\"TextRun SCXW217485990 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW217485990 BCX0\" data-ccp-parastyle=\"Title\">\u00a0<\/span><\/span><span class=\"TextRun SCXW217485990 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW217485990 BCX0\" data-ccp-parastyle=\"Title\">for\u00a0<\/span><\/span><span class=\"TextRun SCXW217485990 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW217485990 BCX0\" data-ccp-parastyle=\"Title\">interpreter path<\/span><\/span><span class=\"TextRun SCXW217485990 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW217485990 BCX0\" data-ccp-parastyle=\"Title\">\u00a0<\/span><\/span><span class=\"EOP SCXW217485990 BCX0\" 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 class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">To make selecting or changing interpreter easier, y<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">ou now\u00a0<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">have the option to browse\u00a0<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">for\u00a0<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">a Python interpreter in your file system<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">.\u00a0<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">Y<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">ou\u00a0<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">can<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">\u00a0also<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">\u00a0<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">s<\/span><\/span><span class=\"TextRun SCXW132992311 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132992311 BCX0\">et an interpreter by manually entering its path:<\/span><\/span><\/p>\n<p><a style=\"font-weight: bold; font-size: inherit; background-color: #f7f7f9;\" href=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2020\/05\/May2020-EnterInterpreterPath.gif\"><img decoding=\"async\" class=\"wp-image-7703 size-full\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2020\/05\/May2020-EnterInterpreterPath.gif\" alt=\"Selecting an interpreter by entering a path and then by browsing for executable file on the system file explorer.\" width=\"2456\" height=\"1616\" \/><\/a><em style=\"font-size: 14px;\">Theme: Eva<\/em><\/p>\n<h2><span data-contrast=\"none\">Coming Next: moving python.pythonPath out of settings.json<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">One change that is <\/span><span data-contrast=\"none\">coming relates to how the Python extension handles Python interpreter selection. C<\/span><span data-contrast=\"none\">urrently the path to the selected interpreter\u00a0<\/span><span data-contrast=\"none\">is stored\u00a0<\/span><span data-contrast=\"none\">in the workspace settings. This can be a problem when you share VS Code workspace settings in a GitHub repo, for example, as\u00a0<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-python\/issues\/2125\"><span data-contrast=\"none\">reported in our issue tracker<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">In order to make the interpreter information system agnostic and prevent sharing the interpreter path (which commonly won\u2019t be the same across different machines), we\u2019re going to deprecate the\u00a0<\/span><em>python.pythonPath<\/em><span data-contrast=\"none\"> setting in the Python extension.\u00a0 You will still be able to set interpreters per workspace, it&#8217;ll just be stored internally instead of the workspace settings.\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">These changes will be added gradually as an experiment.\u00a0<\/span><span data-contrast=\"none\">If you\u2019re interested to try it\u00a0<\/span><span data-contrast=\"none\">ahead of time, y<\/span><span data-contrast=\"none\">ou can opt into this functionality by adding the following line to your User settings (<\/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;\u00a0<\/span><\/b><span data-contrast=\"none\">and run\u00a0<\/span><b><span data-contrast=\"none\">Preferences: Open Settings (JSON)<\/span><\/b><span data-contrast=\"none\">) and then reloading the window (<\/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\">Developer: Reload Window)<\/span><\/b><span data-contrast=\"none\">:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:1,&quot;335559739&quot;:160,&quot;335559740&quot;:285}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint\">\"python.experiments.optInto\":\u00a0[\"DeprecatePythonPath\u00a0- experiment\"]<\/pre>\n<p><span data-contrast=\"none\">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<\/span><span data-contrast=\"none\">\u00a0in general<\/span><span data-contrast=\"none\">, you can open the user\u00a0<\/span><span data-contrast=\"none\">settings.json<\/span><span data-contrast=\"none\">\u00a0file 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\">.<\/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><\/p>\n<p><span data-contrast=\"none\">We also have some\u00a0<\/span><span data-contrast=\"none\">additional\u00a0<\/span><span data-contrast=\"none\">announcements coming soon, so stay tuned!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW128212348 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW128212348 BCX0\">Other Changes and Enhancements<\/span><\/span><span class=\"EOP SCXW128212348 BCX0\" 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=\"8\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/portal.msrc.microsoft.com\/en-us\/security-guidance\/advisory\/CVE-2020-1171\"><span data-contrast=\"none\">CVE-2020-1171<\/span><\/a><span data-contrast=\"none\">:\u00a0<\/span><span data-contrast=\"none\">Do not perform\u00a0<\/span><span data-contrast=\"none\">pipenv<\/span><span data-contrast=\"none\"> interpreter discovery on extension activation.<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">(<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/11127\"><span data-contrast=\"none\">#11127<\/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=\"8\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/portal.msrc.microsoft.com\/en-us\/security-guidance\/advisory\/CVE-2020-1192\">CVE-2020-1192<\/a>: Setting &#8220;Data Science: Run Startup Commands&#8221; is now limited to being a User scope only setting.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"8\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">Performance improvements when executing multiple cells in Notebook and Interactive Window using\u00a0<\/span><span data-contrast=\"none\">ipywidgets<\/span><span data-contrast=\"none\">. (<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/11576\"><span data-contrast=\"none\">#11576<\/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=\"8\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"none\">Fix for opening the interactive window when no workspace is open. (<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/11291\"><span data-contrast=\"none\">#11291<\/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=\"8\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"none\">Update\u00a0<\/span><span data-contrast=\"none\">Jedi 0.17\u00a0<\/span><span data-contrast=\"none\">(thanks Peter Law) (<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/11221\"><span data-contrast=\"none\">#11221<\/span><\/a><span data-contrast=\"none\">)<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">Be sure to<\/span>\u00a0<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\">for Visual Studio Code now to try out the above improvements. If you run into any problems,\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<\/span>\u00a0<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\"><span data-contrast=\"none\">Python VS Code GitHub<\/span><\/a> <span data-contrast=\"none\">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<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are happy to announce that the\u00a0May\u00a02020\u00a0release of the Python Extension for Visual Studio Code is now available. In this release we\u00a0addressed\u00a042\u00a0issues,\u00a0and it\u00a0includes the\u00a0ability to\u00a0browse\u00a0for\u00a0or\u00a0enter an interpreter path on selection.  Keep on reading to learn more!<\/p>\n","protected":false},"author":1064,"featured_media":7703,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-7702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","category-visual-studio-code"],"acf":[],"blog_post_summary":"<p>We are happy to announce that the\u00a0May\u00a02020\u00a0release of the Python Extension for Visual Studio Code is now available. In this release we\u00a0addressed\u00a042\u00a0issues,\u00a0and it\u00a0includes the\u00a0ability to\u00a0browse\u00a0for\u00a0or\u00a0enter an interpreter path on selection.  Keep on reading to learn more!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/7702","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=7702"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/7702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media\/7703"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media?parent=7702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/categories?post=7702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/tags?post=7702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}