{"id":246525,"date":"2024-01-18T07:22:26","date_gmt":"2024-01-18T15:22:26","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=246525"},"modified":"2024-01-23T09:44:00","modified_gmt":"2024-01-23T17:44:00","slug":"latest-updates-for-remote-linux-development-in-visual-studio-remote-file-explorer-integrated-terminal-and-more","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/latest-updates-for-remote-linux-development-in-visual-studio-remote-file-explorer-integrated-terminal-and-more\/","title":{"rendered":"Latest updates for C++ Remote Linux Development in Visual Studio: Remote File Explorer, Integrated Terminal, and more&#8230;"},"content":{"rendered":"<p>Visual Studio allows you to target your remote Linux machines so that you can still use Visual Studio\u2019s build and debugging suite for all your remote workflows just like how you would develop locally without having to leave the IDE. To further enhance your ability to develop remotely for C++ from Visual Studio, we have added a new Remote File Explorer to perform file operations on your remote machine, an integrated SSH terminal to access your remote targets, and an automated experience to install Windows Subsystem for Linux (WSL) and build tools. Additionally, we have added support to run remote Linux tests from the Test Explorer.<\/p>\n<p>To access the full Linux support for C++ in Visual Studio, download it via the <strong>Linux and embedded development with C++<\/strong> workload.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2.png\"><img decoding=\"async\" class=\"alignnone wp-image-246531\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2-1024x383.png\" alt=\"Image linux embedded2\" width=\"869\" height=\"325\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2-1024x383.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2-300x112.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2-768x288.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2-1536x575.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/linux-embedded2.png 1741w\" sizes=\"(max-width: 869px) 100vw, 869px\" \/><\/a><\/p>\n<h3>Remote File Explorer<\/h3>\n<p>The Remote File Explorer allows you to access your files and folders on your remote machines that you are connected to through the Connection Manager without having to leave the IDE. In C++ projects, Visual Studio will automatically detect all WSL connections when you use CMake Presets to build your project. To add a new remote connection to a machine that isn\u2019t WSL through the Connection Manager, please see <a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/linux\/connect-to-your-remote-linux-computer?view=msvc-170\">our documentation<\/a>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE.png\"><img decoding=\"async\" class=\"size-full wp-image-246535 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE.png\" alt=\"The remote File explorer window in Visual Studio with the folder hierarchy.\" width=\"628\" height=\"682\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE.png 628w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-276x300.png 276w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><\/a><\/p>\n<p>To access the Remote File Explorer, navigate to <em>View &gt; Remote File Explorer<\/em> in Visual Studio after downloading it through the Linux and Embedded Workflow in the VS Installer.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection.png\"><img decoding=\"async\" class=\" wp-image-246536 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection-1024x495.png\" alt=\"the remote filee explorer for linux selected under the linux and embedded development workload\" width=\"735\" height=\"355\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection-1024x495.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection-300x145.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection-768x371.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection-1536x743.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/RFE-Selection.png 1708w\" sizes=\"(max-width: 735px) 100vw, 735px\" \/><\/a><\/p>\n<p>You can perform file operations from here such as:<\/p>\n<ul>\n<li>Viewing your files<\/li>\n<li>Editing your files<\/li>\n<li>Searching for your files and navigating to the remote path<\/li>\n<li>Uploading files<\/li>\n<li>Downloading files<\/li>\n<li>Viewing the output of file operations<\/li>\n<\/ul>\n<p>To learn more about the Remote File Explorer\u2019s capabilities, please see our blog post announcements: <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/view-files-on-your-remote-machines-using-the-new-remote-file-explorer-in-visual-studio\/\">View files on your Remote Machines using the new Remote File Explorer in Visual Studio &#8211; C++ Team Blog (microsoft.com)<\/a> and <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-for-the-remote-file-explorer-in-visual-studio\/\">What\u2019s New for the Remote File Explorer in Visual Studio &#8211; C++ Team Blog (microsoft.com)<\/a>. If there is anything you would like to see added to this view, please comment on our open feedback ticket <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Remote-File-SSH-Explorer-Suggestions\/10262117?space=8&amp;entry=suggestion\">here<\/a>.<\/p>\n<h3>Integrated Terminal<\/h3>\n<p>Users can now leverage the Visual Studio\u2019s integrated terminal to access their remote targets when developing for remote machines from Windows, via an interactive SSH shell. It can be accessed by going to <em>View&gt;Terminal<\/em>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal.png\"><img decoding=\"async\" class=\" wp-image-246538 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-1024x567.png\" alt=\"The integrated terminal showing a squirrel in color.\" width=\"792\" height=\"438\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-1024x567.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-300x166.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-768x426.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal.png 1045w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/a><\/p>\n<p>Instead of having to start a separate SSH session inside of PowerShell or WSL and having to re-authenticate, you can select one of your existing connections from the Connection Manager or WSL. You only have to authenticate once when you add a stored connection. To add a new remote connection to a machine that isn\u2019t WSL through the Connection Manager, please see <a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/linux\/connect-to-your-remote-linux-computer?view=msvc-170\">our documentation<\/a>. In the upper-left corner of the integrated terminal, you can click on the SSH connection and see the options enumerated from your Connection Manager.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-2.png\"><img decoding=\"async\" class=\" wp-image-246539 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-2-1024x558.png\" alt=\"The target machine dropdown in the integrated terminal.\" width=\"770\" height=\"420\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-2-1024x558.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-2-300x163.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-2-768x418.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/integrated-terminal-2.png 1054w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/a><\/p>\n<p>Additionally, the new integrated terminal now supports manipulating files, running background tasks, configuring your remote system, and testing your deployed code all from inside of VS instead of having to use an external SSH client. This terminal also supports color and command sequences, so for example, copy, paste, and find shortcuts will work, as well as interactive programs like vim.<\/p>\n<p>For more information, please see our blog post <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/integrated-terminal-in-visual-studio-new-ssh-integration-for-linux-targeting\/\">here<\/a>.<\/p>\n<h3>Automatically Install WSL from Visual Studio<\/h3>\n<p>Downloading WSL and its associated dev tools is now easier than ever, so you can get started with Linux development and spin up a new WSL instance with a few simple clicks.<\/p>\n<p>All you need to do is navigate to <em>Project &gt; Install WSL For Me<\/em>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/install-wsl.png\"><img decoding=\"async\" class=\" wp-image-246540 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/install-wsl-1024x291.png\" alt=\"The Project dropdown in Visual Studio shows the option to Install WSL for me.\" width=\"710\" height=\"202\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/install-wsl-1024x291.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/install-wsl-300x85.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/install-wsl-768x218.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/install-wsl.png 1057w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/a><\/p>\n<p>From there, an installation dialog will pop up that will automatically check the status of the pre-requisites on your machine. After the pre-requisites are run and all pass, the installation process will kick off.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/MicrosoftTeams-image-26.png\"><img decoding=\"async\" class=\" wp-image-246589 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/MicrosoftTeams-image-26-1024x876.png\" alt=\"the full WSL installation dialog\" width=\"679\" height=\"581\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/MicrosoftTeams-image-26-1024x876.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/MicrosoftTeams-image-26-300x257.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/MicrosoftTeams-image-26-768x657.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/MicrosoftTeams-image-26.png 1306w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/a><\/p>\n<p>At the end, you can select \u201cFinish\u201d and the new WSL machine will be installed with all the build tools you need for development after you complete a reboot. You can then target this machine from your existing project to get started with Linux development or provision a new machine.<\/p>\n<h3>Added support for remote Linux unit tests in Test Explorer<\/h3>\n<p>In partnership with some of our customers such as the Azure Networking team, we have added support for remote Linux unit tests to be run and debugger from the Test Explorer in CMake projects. Now, when you target Linux, you can use the Test Explorer in Visual Studio like you would locally. To open this view, you can navigate to <em>Test &gt; Test Explorer<\/em>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer.png\"><img decoding=\"async\" class=\"size-large wp-image-246545 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer-1024x544.png\" alt=\"The test explorer in the Visual Studio window showing remote Linux Ctests.\" width=\"640\" height=\"340\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer-1024x544.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer-300x159.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer-768x408.png 768w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer-1536x816.png 1536w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/01\/testexplorer.png 1920w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Read more about our partnership in <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/azure-networking-team-reaches-peak-productivity-with-visual-studios-new-remote-linux-capabilities-and-improvements\/\">our blog post<\/a>.<\/p>\n<h3>Wrap up<\/h3>\n<p>We appreciate the time you\u2019ve spent reporting issues\/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! You can share feedback with us via\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/home%22%20\/t%20%22_blank\">Developer Community<\/a>: report any bugs or issues via\u00a0<a href=\"https:\/\/learn.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio?view=vs-2022\">report a problem<\/a>\u00a0and\u00a0<a href=\"https:\/\/developercommunity.microsoft.com\/VisualStudio\/suggest\">share your suggestions<\/a>\u00a0for new features or improvements to existing ones.<\/p>\n<p>Stay connected with the Visual Studio team by following us on <a href=\"https:\/\/www.youtube.com\/@visualstudio\">YouTube<\/a>, <a href=\"https:\/\/twitter.com\/VisualStudio\">Twitter<\/a>, <a href=\"https:\/\/www.linkedin.com\/showcase\/microsoft-visual-studio\/\">LinkedIn<\/a>, <a href=\"https:\/\/www.twitch.tv\/visualstudio\">Twitch<\/a> and on <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/?view=vs-2022\">Microsoft Learn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visual Studio allows you to target your remote Linux machines so that you can still use Visual Studio\u2019s build and debugging suite for all your remote workflows just like how you would develop locally without having to leave the IDE. To further enhance your ability to develop remotely for C++ from Visual Studio, we have [&hellip;]<\/p>\n","protected":false},"author":85413,"featured_media":246536,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1195,155],"tags":[510,6886,5898,4468,6792],"class_list":["post-246525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cross-platform","category-visual-studio","tag-cpp","tag-linux","tag-remote","tag-terminal","tag-wsl-2"],"acf":[],"blog_post_summary":"<p>Visual Studio allows you to target your remote Linux machines so that you can still use Visual Studio\u2019s build and debugging suite for all your remote workflows just like how you would develop locally without having to leave the IDE. To further enhance your ability to develop remotely for C++ from Visual Studio, we have [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/246525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/85413"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=246525"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/246525\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/246536"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=246525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=246525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=246525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}