{"id":6914,"date":"2018-12-13T10:00:29","date_gmt":"2018-12-13T17:00:29","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/python\/?p=6914"},"modified":"2019-02-17T15:26:54","modified_gmt":"2019-02-17T22:26:54","slug":"python-in-visual-studio-code-december-2018-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/python\/python-in-visual-studio-code-december-2018-release\/","title":{"rendered":"Python in Visual Studio Code \u2013 December 2018 Release"},"content":{"rendered":"<p>We are pleased to announce that the December 2018 release of the Python Extension for Visual Studio Code is now available. You can\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-python.python\">download the Python extension<\/a>\u00a0from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. You can learn more about\u00a0<a href=\"https:\/\/code.visualstudio.com\/docs\/languages\/python\">Python support in Visual Studio Code<\/a>\u00a0in the documentation.<\/p>\n<p>This release was a short release, where we primarily focused on two top-requested features for the <a href=\"https:\/\/devblogs.microsoft.com\/python\/2018\/11\/08\/data-science-with-python-in-visual-studio-code\/\">data science experience shipped in November<\/a>: remote Jupyter support and export Python files as Jupyter Notebooks. We have also fixed many issues reported on GitHub, and you can see the full list in our <a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/blob\/master\/CHANGELOG.md\">changelog<\/a>.<\/p>\n<p>Keep on reading to learn more!<\/p>\n<h2>Remote Jupyter Support<\/h2>\n<p>This release enables you to connect to remote Jupyter servers for execution, so you can offload intensive computation to other machines that have more compute power or have a specific hardware spec that you need.<\/p>\n<p style=\"margin: 0in 0in 7.5pt 0in\">To connect to a remote Jupyter server, run this new command <strong>Python: Specify Jupyter server URI<\/strong> in the Visual Studio Code Command Palette.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6918 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img1.png\" alt=\"\" width=\"495\" height=\"135\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img1.png 495w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img1-300x82.png 300w\" sizes=\"(max-width: 495px) 100vw, 495px\" \/><\/p>\n<p>Then you will be asked to enter the hostname and a token for authentication.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6919 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img2.png\" alt=\"\" width=\"1094\" height=\"125\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img2.png 1094w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img2-300x34.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img2-768x88.png 768w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img2-1024x117.png 1024w\" sizes=\"(max-width: 1094px) 100vw, 1094px\" \/><\/p>\n<p>You can find the token in the terminal when you start a Jupyter Notebook server with token authentication enabled. The token is generated and logged to the terminal. For example:<\/p>\n<pre class=\"lang:ps decode:true\">[I 11:59:16.597 NotebookApp] The Jupyter Notebook is running at:\r\nhttp:\/\/localhost:8888\/?token=c8de56fa4deed24899803e93c227592aef6538f93025fe01\r\n<\/pre>\n<p>Copy the URL in the terminal and then paste into VS Code.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6920 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img3.png\" alt=\"\" width=\"1072\" height=\"120\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img3.png 1072w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img3-300x34.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img3-768x86.png 768w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img3-1024x115.png 1024w\" sizes=\"(max-width: 1072px) 100vw, 1072px\" \/><\/p>\n<p>Cells will now be executed using the remote Jupyter server, and you can see that information in the Interactive window. Here is an example of a Windows machine connecting to a Linux VM for execution (the real URI is blurred out for security reasons \ud83d\ude0a):<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6921 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img4.png\" alt=\"\" width=\"1025\" height=\"925\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img4.png 1025w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img4-300x271.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img4-768x693.png 768w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img4-1024x924.png 1024w\" sizes=\"(max-width: 1025px) 100vw, 1025px\" \/><\/p>\n<p>Token-based authentication is on by default for notebook 4.3 and later. This document has more details on <a href=\"https:\/\/jupyter-notebook.readthedocs.io\/en\/stable\/security.html\">Security in the Jupyter notbeook server<\/a>.<\/p>\n<h2>Export Python files as Jupyter Notebooks<\/h2>\n<p>This update adds two commands for exporting Python files as Jupyter Notebooks. Along with the export run results command that was shipped in the previous release, the Python extension now offers three Export as Jupyter Notebook options and you can choose the one that is right for your use-case.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6922 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img5.png\" alt=\"\" width=\"852\" height=\"215\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img5.png 852w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img5-300x76.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img5-768x194.png 768w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><\/p>\n<p>After exporting you will see a message box with an \u201cOpen in browser\u201d button, which will open the exported notebook file locally in a browser.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-6923 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img6.png\" alt=\"\" width=\"904\" height=\"174\" srcset=\"https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img6.png 904w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img6-300x58.png 300w, https:\/\/devblogs.microsoft.com\/python\/wp-content\/uploads\/sites\/12\/2018\/12\/Dec2018-Img6-768x148.png 768w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><\/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. The full list of improvements is listed in our\u00a0<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/blob\/master\/CHANGELOG.md\">changelog<\/a>; some notable changes include:<\/p>\n<ul type=\"disc\">\n<li>Update the Microsoft Python language server to 0.1.72\/<a href=\"https:\/\/github.com\/Microsoft\/python-language-server\/releases\/tag\/2018.12.1\">12.1<\/a>(<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/3657\">#3657<\/a>), allowing proper resolution and Go to Definition for namespace packages and relative imports.<\/li>\n<li>Load the language server in the background during extension activation. (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/3020\">#3020<\/a>)<\/li>\n<li>Display progress indicator when activating the language server and validating user setup. (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/3082\">#3082<\/a>)<\/li>\n<li>Updated logic used to determine whether the Language Server is supported. (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/2729\">#2729<\/a>)<\/li>\n<li>Allow users to request the &#8216;Install missing Linter&#8217; prompt to not show again for pylint. (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/3349\">#3349<\/a>)<\/li>\n<li>Run in the workspace directory by default for the interactive window. (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/3407\">#3407<\/a>)<\/li>\n<li>Add support for running Python interactive commands from the command palette. (<a href=\"https:\/\/github.com\/Microsoft\/vscode-python\/issues\/3476\">#3476<\/a>)<\/li>\n<\/ul>\n<p style=\"margin: 0in 0in 7.5pt 0in\">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<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are pleased to announce that the December 2018 release of the Python Extension for Visual Studio Code is now available. This release was a short release, where we primarily focused on two top-requested features for the data science experience shipped in November: remote Jupyter support and export Python files as Jupyter Notebooks. We have also fixed many issues reported on GitHub, and you can see the full list in our changelog.<\/p>\n","protected":false},"author":883,"featured_media":6921,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-6914","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 December 2018 release of the Python Extension for Visual Studio Code is now available. This release was a short release, where we primarily focused on two top-requested features for the data science experience shipped in November: remote Jupyter support and export Python files as Jupyter Notebooks. We have also fixed many issues reported on GitHub, and you can see the full list in our changelog.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/6914","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\/883"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/comments?post=6914"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/posts\/6914\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media\/6921"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/media?parent=6914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/categories?post=6914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/python\/wp-json\/wp\/v2\/tags?post=6914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}