{"id":25074,"date":"2019-10-15T16:46:41","date_gmt":"2019-10-15T16:46:41","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=25074"},"modified":"2019-10-15T16:46:41","modified_gmt":"2019-10-15T16:46:41","slug":"usability-improvements-for-cmake-in-visual-studio-2019-version-16-4-launch-target-selection-and-overview-pages","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/usability-improvements-for-cmake-in-visual-studio-2019-version-16-4-launch-target-selection-and-overview-pages\/","title":{"rendered":"Usability Improvements for CMake in Visual Studio 2019 version 16.4: Launch Target Selection and Overview Pages"},"content":{"rendered":"<p>We hear your feedback, and in Visual Studio 2019 version 16.4 Preview 2 we have addressed one of our top <a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/503910\/select-startup-item-incomplete-when-opening-a-larg.html\">Developer Community issues<\/a> related to CMake development in Visual Studio by revamping the selection of CMake launch targets. We have also added Overview Pages for CMake to help you get started with CMake and cross-platform development. If you\u2019re not familiar with Visual Studio&#8217;s CMake support, be sure to check our <a href=\"https:\/\/docs.microsoft.com\/en-us\/cpp\/build\/cmake-projects-in-visual-studio?view=vs-2019\">CMake Support in Visual Studio<\/a> introductory page.<\/p>\n<h4>Launch Target Selection<\/h4>\n<p>In Visual Studio 2019 you can select a CMake target to run via the launch drop-down menu:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-25075\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/first-1024x343.png\" alt=\"The launch drop-down menu for a large CMake project in Visual Studio.\" width=\"957\" height=\"321\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/first-1024x343.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/first-300x101.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/first-768x258.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/first.png 1515w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/p>\n<p>With Visual Studio 2019 version 16.4 we have improved this experience based on your feedback. You can now select \u201cShow\/Hide Debug Targets\u201d from the top of the drop-down menu to open the following dialog and hide seldom used debug targets from the drop-down menu:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-25076 size-full\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/dialogue.png\" alt=\"Use the new &quot;Show or Hide Debug Targets&quot; dialogue to show and hide debug targets from the launch drop-down menu in Visual Studio.\" width=\"493\" height=\"544\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/dialogue.png 493w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/dialogue-272x300.png 272w\" sizes=\"(max-width: 493px) 100vw, 493px\" \/><\/p>\n<p>For large CMake projects (like <a href=\"https:\/\/github.com\/llvm-mirror\/llvm\">llvm<\/a>), this will allow you to clean-up the launch drop-down menu dramatically and focus only on the targets you care about. You can always unhide any debug target that has been hidden from the drop-down menu. In the following example, many of the 100+ targets of llvm (listed above) have been hidden from the launch drop-down menu:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-25077 size-full\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/short.png\" alt=\"The launch drop-down menu now displays your most recently used debug targets at the top of the menu.\" width=\"957\" height=\"301\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/short.png 957w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/short-300x94.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/short-768x242.png 768w\" sizes=\"(max-width: 957px) 100vw, 957px\" \/><\/p>\n<p>The launch drop-down menu also displays your most recently used debug targets at the top of the menu. This is based on feedback that many of you toggle between 2-3 debug targets at a time. In the screenshot above, \u201cFibonacci.exe\u201d and \u201cbugpoint.exe\u201d are my most recently used debug targets.<\/p>\n<h4>Overview Pages for CMake<\/h4>\n<p>We also added Overview Pages for CMake projects to help you get started with cross-platform development. These pages are dynamic and help you install the Linux Workload, connect to a remote Linux system or the Windows Subsystem for Linux (WSL), and add a Linux or WSL configuration to your CMake project. If you are just getting started with Linux development in Visual Studio, I recommend trying our <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/c-with-visual-studio-2019-and-windows-subsystem-for-linux-wsl\/\">native support for WSL<\/a>.<\/p>\n<h4><img decoding=\"async\" class=\"aligncenter wp-image-25079 size-full\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/overview.png\" alt=\"Overview Pages for CMake help you get started with Linux development in Visual Studio.\" width=\"1119\" height=\"559\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/overview.png 1119w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/overview-300x150.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/overview-768x384.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2019\/10\/overview-1024x512.png 1024w\" sizes=\"(max-width: 1119px) 100vw, 1119px\" \/><\/h4>\n<h4>Give us your feedback!<\/h4>\n<p>Do you have feedback on our Linux tooling or CMake support in Visual Studio? We\u2019d love to hear from you to help us prioritize and build the right features for you. We can be reached via the comments below, email (<a href=\"mailto:visualcpp@microsoft.com\">visualcpp@microsoft.com<\/a>), and Twitter (<a href=\"https:\/\/twitter.com\/visualc\">@VisualC<\/a>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We hear your feedback, and in Visual Studio 2019 version 16.4 Preview 2 we have addressed one of our top Developer Community issues related to CMake development in Visual Studio by revamping the selection of CMake launch targets. We have also added Overview Pages for CMake to help you get started with CMake and cross-platform [&hellip;]<\/p>\n","protected":false},"author":2953,"featured_media":25077,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[270,266,279,230],"tags":[],"class_list":["post-25074","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-cmake","category-linux","category-new-feature"],"acf":[],"blog_post_summary":"<p>We hear your feedback, and in Visual Studio 2019 version 16.4 Preview 2 we have addressed one of our top Developer Community issues related to CMake development in Visual Studio by revamping the selection of CMake launch targets. We have also added Overview Pages for CMake to help you get started with CMake and cross-platform [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/25074","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\/2953"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=25074"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/25074\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/25077"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=25074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=25074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=25074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}