{"id":34035,"date":"2024-04-26T15:11:38","date_gmt":"2024-04-26T15:11:38","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=34035"},"modified":"2024-04-26T09:13:37","modified_gmt":"2024-04-26T09:13:37","slug":"usability-improvements-in-the-visual-studio-connection-manager","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/usability-improvements-in-the-visual-studio-connection-manager\/","title":{"rendered":"Usability Improvements in the Visual Studio Connection Manager"},"content":{"rendered":"<p><span data-contrast=\"none\">In Visual Studio 2022 17.10 Preview 2, we\u2019ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and\/or debugging failed connections. Please <\/span><a href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\"><span data-contrast=\"none\">install the latest Preview<\/span><\/a><span data-contrast=\"none\"> to try it out. Read on to learn what the Connection Manager does, and which issues that we resolved.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">What is the Connection Manager?<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">The Connection Manager is a tool in Visual Studio that allows users to manage and store SSH connections to remote systems. You can add new connections, edit existing connections, and set the default remote connection. Follow this link to learn how to use the Connection Manager to <\/span><a href=\"https:\/\/learn.microsoft.com\/en-us\/cpp\/linux\/connect-to-your-remote-linux-computer?view=msvc-170\"><span data-contrast=\"none\">connect to your target Linux system in Visual Studio<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-11-130859.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34036\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-11-130859.png\" alt=\"Screenshot of Connection Manager Tools Options page in Visual Studio Options.\" width=\"693\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-11-130859.png 871w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-11-130859-300x184.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-11-130859-768x471.png 768w\" sizes=\"(max-width: 693px) 100vw, 693px\" \/><\/a><\/p>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Prior User Feedback<\/span><\/h2>\n<p><span data-contrast=\"none\">The key issues we addressed came from feedback on\u00a0the <\/span><b><span data-contrast=\"none\">Connect to Remote System<\/span><\/b><span data-contrast=\"none\"> dialog shown below, which you can access by clicking <\/span><b><span data-contrast=\"none\">Add <\/span><\/b><span data-contrast=\"none\">to add a new connection or <\/span><b><span data-contrast=\"none\">Edit <\/span><\/b><span data-contrast=\"none\">to edit an existing connection.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/image.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34043\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/image.png\" alt=\"Screenshot of the prior Connect to Remote System dialog with asterisks by the field labels indicating required fields and the Connect button enabled.\" width=\"436\" height=\"425\" \/><\/a><\/span><\/p>\n<p><span data-contrast=\"none\">First, we received feedback that our UI didn\u2019t make it clear what fields were actually required. Passwords and passphrases weren\u2019t required but were marked as such. Additionally, the user could click <\/span><b><span data-contrast=\"none\">Connect<\/span><\/b><span data-contrast=\"none\"> without the required fields being completed.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">We also wanted to address feedback on how we had displayed failed connection errors to users, as shown below.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/New-Project.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34044\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/New-Project.png\" alt=\"Screenshot of the prior Connect to Remote System dialog in a failed connection state. The Host Name, Port, and Password fields are highlighted red and a tooltip from the Host Name field contains the error message.\" width=\"493\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/New-Project.png 657w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/New-Project-300x258.png 300w\" sizes=\"(max-width: 493px) 100vw, 493px\" \/><\/a><\/span><\/p>\n<p><span data-contrast=\"none\">On a failed connection attempt, it was unclear to users what the error was because the error messages were somewhat hidden and multiple fields needed to be edited to hit <\/span><b><span data-contrast=\"none\">Connect <\/span><\/b><span data-contrast=\"none\">again<\/span><b><span data-contrast=\"none\">\u00a0<\/span><\/b><span data-contrast=\"none\">even if they weren\u2019t all incorrect.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Usability Updates to the Connection Manager<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">To address the issues above, we made a few improvements to the <\/span><b><span data-contrast=\"none\">Connect to Remote System<\/span><\/b><span data-contrast=\"none\"> dialog. Firstly, we replaced the asterisks with \u201c&lt;Required&gt;\u201d watermarks and corrected which fields were marked required, which can be seen below.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-123958.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34040\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-123958.png\" alt=\"Screenshot of the updated Connect To Remote System dialog with &quot;&lt;Required&gt;&quot; watermarks in the required fields and the Connect button disabled.\" width=\"435\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-123958.png 443w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-123958-300x293.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-123958-24x24.png 24w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-123958-48x48.png 48w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/><\/a><\/span><\/p>\n<p><span data-contrast=\"none\">Notice that the <\/span><b><span data-contrast=\"none\">Connect<\/span><\/b><span data-contrast=\"none\"> button is disabled in the above screenshot. This is because the user must now complete all the required fields before they can click the Connect button. We hope to prevent common connection failures with this update. On top of completion, the <\/span><b><span data-contrast=\"none\">Port<\/span><\/b><span data-contrast=\"none\"> and<\/span><b><span data-contrast=\"none\"> Proxy Port<\/span><\/b><span data-contrast=\"none\"> fields must each contain an integer between 1 and 65535 to enable the <\/span><b><span data-contrast=\"none\">Connect<\/span><\/b><span data-contrast=\"none\"> button as shown below.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34041\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111.png\" alt=\"Screenshot of the updated Connect to Remote System dialog where the Port entry is invalid and there is an error message above the field saying &quot;Port must be an integer between 1 and 65535.&quot; and the Connect button is disabled.\" width=\"429\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111.png 443w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111-300x297.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111-150x150.png 150w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111-24x24.png 24w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111-48x48.png 48w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124111-96x96.png 96w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><\/a><\/span><\/p>\n<p><span data-contrast=\"none\">We also updated how we display errors from failed connection attempts to users as seen in the screenshot below.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"> <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124151.png\"><img decoding=\"async\" class=\"aligncenter wp-image-34042\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124151.png\" alt=\"Screenshot of the updated Connect to Remote System dialog with a failed connection error. The error is displayed above the fields in an info bar and the Host Name and Port field are highlighted and labelled as &quot;may be incorrect&quot;. The Connect button is enabled.\" width=\"384\" height=\"425\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124151.png 443w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2024\/04\/Screenshot-2024-04-16-124151-271x300.png 271w\" sizes=\"(max-width: 384px) 100vw, 384px\" \/><\/a><\/span><\/p>\n<p><span data-contrast=\"none\">Now we present the connection attempt failure reason in an error bar above the fields. We highlight the fields that <\/span><i><span data-contrast=\"none\">may<\/span><\/i><span data-contrast=\"none\"> be related to the failure reason and convey that the field may be incorrect in the highlighted fields\u2019 tooltips and now additionally above each highlighted field too. We also eliminated the frustration of needing to modify the highlighted fields to be able to hit the <\/span><b><span data-contrast=\"none\">Connect<\/span><\/b><span data-contrast=\"none\"> button again, so that the user can decide what fields they need to fix.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Finally, as a finishing touch we updated all the fields to visually behave similarly on hover, focus, etc.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\"><span data-contrast=\"none\">Let Us Know How We Did<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">We appreciate all feedback! These usability improvements came about from reported issues and suggestions from users like you. You can share your feedback via the <\/span><a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\"><span data-contrast=\"none\">Visual Studio Developer Community<\/span><\/a><span data-contrast=\"auto\">, find us on X (<\/span><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">@VisualC<\/span><\/a><span data-contrast=\"auto\">), email us at <\/span><a href=\"mailto:visualcpp@microsoft.com\"><span data-contrast=\"none\">visualcpp@microsoft.com<\/span><\/a><span data-contrast=\"auto\">, or comment below. You can also open bugs by following the instructions <\/span><a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=problem\"><span data-contrast=\"none\">here<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Visual Studio 2022 17.10 Preview 2, we\u2019ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and\/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection Manager does, [&hellip;]<\/p>\n","protected":false},"author":156221,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[3942,185],"class_list":["post-34035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-connection-manager","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>In Visual Studio 2022 17.10 Preview 2, we\u2019ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and\/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection Manager does, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/34035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/156221"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=34035"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/34035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=34035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=34035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=34035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}