{"id":7149,"date":"2019-03-26T15:50:20","date_gmt":"2019-03-26T23:50:20","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/python\/?p=7149"},"modified":"2019-05-15T14:29:24","modified_gmt":"2019-05-15T22:29:24","slug":"python-in-visual-studio-code-march-2019-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-march-2019-release\/","title":{"rendered":"Python in Visual Studio Code \u2013 March 2019 Release"},"content":{"rendered":"<p><span data-contrast=\"none\">We are pleased to announce that the March 2019 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\">\u202ffrom the Marketplace, or install it directly from the extension gallery in 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\">\u202fin the documentation.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">In this release we made a series <\/span><span data-contrast=\"none\">of improvements that are listed in our\u202f<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/blob\/master\/CHANGELOG.md\"><span data-contrast=\"none\">changelog<\/span><\/a><span data-contrast=\"none\">, closing a total of 52 issues that includes:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Live Share support in the Python Interactive Window<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">Support installing packages with Poetry<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"none\">Improvements to <\/span><span data-contrast=\"none\">the Python Language Server<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">Improvements to the Test Explorer<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">Keep on reading to learn more!<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:150,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h2><span data-contrast=\"none\">Live Share <\/span><span data-contrast=\"none\">for<\/span><span data-contrast=\"none\"> Python Interactive\u00a0<\/span><span 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=\"auto\">R<\/span><span data-contrast=\"auto\">eal<\/span><span data-contrast=\"auto\">-time collaboration <\/span><span data-contrast=\"auto\">is <\/span><span data-contrast=\"auto\">made easy with <\/span><a href=\"https:\/\/visualstudio.microsoft.com\/services\/live-share\/\"><span data-contrast=\"none\">Visual Studio <\/span><span data-contrast=\"none\">Live Share<\/span><\/a> <span data-contrast=\"auto\">&#8211; it<\/span><span data-contrast=\"auto\"> provides you with the ability to co-edit and co-debug while sharing audio, servers, terminals, diffs, comments, and more.\u00a0<\/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=\"auto\">In this update, <\/span><span data-contrast=\"auto\">the Python Interactive window has been <\/span><span data-contrast=\"auto\">enhanced to participate in Live Share collaboration sessions<\/span><span data-contrast=\"auto\">, making it possible to <\/span><span data-contrast=\"auto\">collaboratively<\/span> <span data-contrast=\"auto\">explore and visualize data<\/span><span data-contrast=\"auto\">.<\/span> <span data-contrast=\"auto\">Whether you are conducting a code review, pair programming with a teammate, participating in a hack-a-thon, or even teaching an interactive lecture, <\/span><span data-contrast=\"auto\">Live Share<\/span><span data-contrast=\"auto\"> can support you in the many ways you collaborate.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>This feature requires the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=MS-vsliveshare.vsliveshare-pack\">Live Share extension for VS Code<\/a> to be installed on host and guest machines.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-7173\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/liveshare_fullsize.gif\" alt=\"\" width=\"1788\" height=\"1306\" \/><\/p>\n<h2><span data-contrast=\"none\">Support installing packages with Poetry\u00a0<\/span><span 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 style=\"font-size: 12.0pt; line-height: 107%; font-family: 'Segoe UI',sans-serif;\">This new release also adds the ability to use <\/span><a href=\"https:\/\/poetry.eustace.io\/\"><span style=\"font-size: 12.0pt; line-height: 107%; font-family: 'Segoe UI',sans-serif;\">Poetry<\/span><\/a><span style=\"font-size: 12.0pt; line-height: 107%; font-family: 'Segoe UI',sans-serif;\"> in Visual Studio Code with the Python extension, a dependency manager that allows you to keep the project\u2019s development dependencies separate from production ones. Poetry support in the Python extension was a highly requested feature on <\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/1871\"><span style=\"font-size: 12.0pt; line-height: 107%; font-family: 'Segoe UI',sans-serif;\">our GitHub repository.<\/span><\/a><\/p>\n<p><span style=\"font-size: 12.0pt; line-height: 107%; font-family: 'Segoe UI',sans-serif;\">To try out this new feature, first make sure you have Poetry installed as well as the correspondent lock file generated.\u00a0You can refer to the <a href=\"https:\/\/poetry.eustace.io\/docs\/\">documentation<\/a> to learn how to get started with Poetry. Then\u00a0<\/span><span style=\"font-size: 12.0pt; line-height: 107%; font-family: 'Segoe UI',sans-serif;\">add the path to Poetry in your settings (through <strong>File &gt; Preferences &gt; Settings<\/strong> and searching for <strong>Poetry<\/strong> or adding <strong>\u201cpython.poetryPath\u201d: \u201cpath\/to\/poetry\u201d<\/strong> to your settings.json file).\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\"><img decoding=\"async\" class=\"size-full wp-image-7151 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-2-PoetryPath.png\" alt=\"\" width=\"835\" height=\"251\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-2-PoetryPath.png 835w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-2-PoetryPath-300x90.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-2-PoetryPath-768x231.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/><\/span><\/p>\n<p>Now when you install a new package, it\u2019ll use the provided Poetry path to install them:<\/p>\n<p><span data-contrast=\"none\"><img decoding=\"async\" class=\"size-full wp-image-7152 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-3-PoetryYapfInstall.gif\" alt=\"\" width=\"878\" height=\"579\" \/><\/span><\/p>\n<h2>Improvements to the Python Language Server<\/h2>\n<p>This release includes significant enhancements made to the Python Language Server, which was largely re-written and includes improvements on performance, memory usage and information display, support for relative imports and implicit packages, and understanding of typing, generics, PEP hints and annotations. And now it also offers auto-completion for f-strings and type information when you hover over sub-expressions:<\/p>\n<p><span data-contrast=\"none\"><img decoding=\"async\" class=\"size-full wp-image-7154 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-5-fstringCompletion.png\" alt=\"\" width=\"919\" height=\"413\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-5-fstringCompletion.png 919w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-5-fstringCompletion-300x135.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-5-fstringCompletion-768x345.png 768w\" sizes=\"(max-width: 919px) 100vw, 919px\" \/><\/span><\/p>\n<p><span data-contrast=\"none\"><img decoding=\"async\" class=\"size-full wp-image-7155 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-6-fstringHover.png\" alt=\"\" width=\"399\" height=\"176\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-6-fstringHover.png 399w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-6-fstringHover-300x132.png 300w\" sizes=\"(max-width: 399px) 100vw, 399px\" \/><\/span><\/p>\n<p>As a reminder, the Language Server was released as a preview the last <a href=\"https:\/\/devblogs.microsoft.com\/python\/2018\/07\/18\/python-in-visual-studio-code-june-july-2018-release\/\">July release of the Python extension<\/a>. To opt-in to the Language Server, change the <strong>python.jediEnabled<\/strong> setting to <strong>false<\/strong> in <strong>File &gt; Preferences &gt; User Settings<\/strong>. Since large changes were made to code analysis, there&#8217;s a list of <a href=\"https:\/\/github.com\/Microsoft\/python-language-server\/blob\/master\/TROUBLESHOOTING.md#known-issues\">known issues<\/a>\u00a0introduced that we are currently fixing. If you run into different problems, please file an issue on the <a href=\"https:\/\/github.com\/Microsoft\/python-language-server\">Python Language Server GitHub<\/a> page. We are working towards making the language server the default in future releases.<\/p>\n<h2>Improvements to the Test Explorer<\/h2>\n<p>On the last <a href=\"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-february-2019-release\/\">February release of the Python extension<\/a> we added a built-in Test Explorer, that can be accessed through the Test beaker icon on the Activity Bar when tests are discovered in the workspace.<\/p>\n<p>In this release we made improvements to the Test Explorer, including support for multi-root workspaces, parametrized tests and new status icons. The status icons allow you to quickly visualize which tests files or suites have failed without needing to expand the tree.<\/p>\n<p><span data-contrast=\"none\"><img decoding=\"async\" class=\" wp-image-7153 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-4-TestExplorer.png\" alt=\"\" width=\"1128\" height=\"650\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-4-TestExplorer.png 1236w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-4-TestExplorer-300x173.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-4-TestExplorer-768x442.png 768w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2019\/03\/Mar19-4-TestExplorer-1024x590.png 1024w\" sizes=\"(max-width: 1128px) 100vw, 1128px\" \/><\/span><\/p>\n<p>As a reminder, you can try the Test Explorer out by running the command<strong> Python: Discover Unit Tests<\/strong> from the Command Palette (<strong>View &gt; Command Palette<\/strong>). If the unit test feature is disabled or no test framework is configured in the <strong>settings.json<\/strong> file, you\u2019ll be prompted to select a framework and configure it. Once tests are discovered, the Test Explorer icon will appear on the Activity Bar.<\/p>\n<h2>Other Changes and Enhancements<\/h2>\n<p>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:<\/p>\n<ul>\n<li>Fixed stopOnEntry not stopping on user code (<a href=\"https:\/\/github.com\/Microsoft\/ptvsd\/issues\/1159\">#1159<\/a>)<\/li>\n<li>Support multiline comments for markdown cells (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/4215\">#4215<\/a>)<\/li>\n<li>Update icons and tooltip in test explorer indicating status of test files\/suites (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/4583\">#4583<\/a>)<\/li>\n<li>Added commands translation for polish locale. (thanks <a href=\"https:\/\/github.com\/pypros\/\">pypros<\/a>) (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/4435\">#4435<\/a>)<\/li>\n<\/ul>\n<p>Be sure to\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\">download the Python extension<\/a>\u00a0for Visual Studio Code now to try out the above improvements. If you run into any problems, please file an issue on the\u00a0<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\">Python VS Code GitHub<\/a>\u00a0page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are pleased to announce that the March 2019 release of the Python Extension for Visual Studio Code is now available. In this release we closed 52 issues that includes Live Share support in the Python Interactive Window, support for installing packages with Poetry, improvements to the Python Language Server and to the Test Explorer.<\/p>\n","protected":false},"author":1064,"featured_media":7152,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-7149","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio-code"],"acf":[],"blog_post_summary":"<p>We are pleased to announce that the March 2019 release of the Python Extension for Visual Studio Code is now available. In this release we closed 52 issues that includes Live Share support in the Python Interactive Window, support for installing packages with Poetry, improvements to the Python Language Server and to the Test Explorer.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/7149","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=7149"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/7149\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media\/7152"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media?parent=7149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/categories?post=7149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/tags?post=7149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}