{"id":9611,"date":"2015-07-20T07:40:00","date_gmt":"2015-07-20T07:40:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2015\/07\/20\/code-maps-improvements-in-visual-studio-enterprise-2015-rtm-code-maps-now-have-simpler-menus-more-intuitive-icons-and-independent-group-layout\/"},"modified":"2022-08-01T06:58:48","modified_gmt":"2022-08-01T14:58:48","slug":"code-maps-improvements-in-visual-studio-enterprise-2015-rtm-code-maps-now-have-simpler-menus-more-intuitive-icons-and-independent-group-layout","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/code-maps-improvements-in-visual-studio-enterprise-2015-rtm-code-maps-now-have-simpler-menus-more-intuitive-icons-and-independent-group-layout\/","title":{"rendered":"Code Maps improvements in Visual Studio Enterprise 2015 RTM:  Code maps now have simpler menus, more intuitive icons, and independent group layout"},"content":{"rendered":"<p>Amongst the improvements we\u2019ve made to <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dd409365(v=vs.140).aspx\">Code Maps<\/a> in Visual Studio Enterprise 2015 RTM are:<\/p>\n<ul>\n<li>Several of the icons that indicate the node type have been changed to be consistent with Solution Explorer, and with other tools and environments.<\/li>\n<li>The shortcut (context) menus have been reorganized to make them cleaner and much easier to use.<\/li>\n<li>You can now change the layout of the contents for a selection of groups as one operation.<\/li>\n<\/ul>\n<h3>The icons are now consistent with Solution Explorer and other tools<\/h3>\n<p>The following screenshot shows a code map in Visual Studio 2015 RC. You can see that, although the nodes are decorated with icons, these are of varying sizes and some are not even similar to the commonly accepted icon for projects and files as used in Solution Explorer and elsewhere.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image002\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/5415.clip_image002_thumb_591DFA4B.jpg\" alt=\"clip_image002\" width=\"609\" height=\"349\" border=\"0\" \/><\/p>\n<p><strong>Visual Studio 2015 Release Candidate node icons<\/strong><\/p>\n<p>In particular, the icon for a <strong>Web Project<\/strong> item, whilst easily recognizable, is larger than and different from that used in Solution Explorer. In addition, the icon for a <strong>Test Project<\/strong> uses the \u201ctemplate\u201d icon, and the <strong>Modeling Project<\/strong> item uses another non-standard icon.<\/p>\n<p>In Visual Studio 2015 RTM, we have changed the icons to make code maps both more intuitive, and to improve the appearance of the interface as a whole. The following screenshot shows the same project as before, but this time you can see that the <strong>Web Project<\/strong> and the <strong>Modeling Project<\/strong> icons are the same as used in Solution Explorer. In addition, we used the same \u201cflask\u201d symbol as in Solution Explorer as the basis for the <strong>Test Project<\/strong> icon.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image004\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/0574.clip_image004_thumb_1537F2AA.jpg\" alt=\"clip_image004\" width=\"609\" height=\"364\" border=\"0\" \/><\/p>\n<p><strong>Visual Studio 2015 Final Release node icons<\/strong><\/p>\n<p>We also updated some of the other icons, such as those for Windows Store, Phone, WPF, and VSIX projects and Portable Libraries, to give a cleaner appearance \u2013 although we kept others (such as Class) the same as before. You can, of course, examine all the icons in the Legend window.<\/p>\n<h3>The shortcut (context) menus are now much simpler<\/h3>\n<p>The second improvement is one that I\u2019m personally excited about &#8211; we\u2019ve changed the structure of commands on many of the code maps shortcut, or context, menus.<\/p>\n<p>In Visual Studio 2013, and in previous releases of Visual Studio 2015, the top-level shortcut menu was overloaded with the editing commands. And there was no obvious location or structure for other commands, other than an attempt to put the ones you might use most nearer the top. For example, the following screenshot shows the Visual Studio 2013 shortcut menu for a Class node.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image006\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/8446.clip_image006_thumb_2BF9CAE4.jpg\" alt=\"clip_image006\" width=\"609\" height=\"545\" border=\"0\" \/><\/p>\n<p><strong>Visual Studio 2013 shortcut menus<\/strong><\/p>\n<p>However, after much review by users, it turns out that the commands people care about most \u2013 and that provide the most value \u2013 are the \u201ccreate a new code map from the selection\u201d and \u201cshow the contribution of links\u201d commands. These were not as visible as we would have liked.<\/p>\n<p>In Visual Studio 2015 preview versions, we rearranged some of the other commands related to grouping. However, interesting commands such as actions on the current selection (for example, \u201ccreate a group from the selection\u201d) were not discoverable. Commands that retrieve the complete inheritance hierarchy were hidden in submenus of the <strong>Advanced<\/strong> submenu, along with other \u201cprogressive reveal\u201d commands such as <strong>Show All Base Types<\/strong>.<\/p>\n<p>In addition, the map editing commands &#8211; which are not our primary scenario &#8211; were still at the top of the menus, whereas our primary scenarios are to understand the architecture of a solution and the impact of a change. And there were other issues raised during our review, but it\u2019s probably wise to stop here.<\/p>\n<p>In Visual Studio 2015 RTM, the context menus are now lean and clean. For example, if nothing is selected you get the following shortcut menu. Notice how everything is neatly categorized under <strong>Select<\/strong>, <strong>Edit<\/strong>, or <strong>Group<\/strong>.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image007\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/8053.clip_image007_thumb_2E3653A0.png\" alt=\"clip_image007\" width=\"463\" height=\"345\" border=\"0\" \/><\/p>\n<p><strong>Visual Studio 2015 Final Release shortcut menus<\/strong><\/p>\n<p>When you open the shortcut menu for selected nodes in the map, the shortcut menu contains additional useful commands related to that selection. For example, when you select a link and open the shortcut menu, you get two commands to help you understand the links between code elements.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image008\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/1512.clip_image008_thumb_7BD28020.png\" alt=\"clip_image008\" width=\"444\" height=\"154\" border=\"0\" \/><\/p>\n<p>When you select an assembly node, you get the useful <strong>New Graph from Selection<\/strong> command at the top, followed by the top-level categories <strong>Select<\/strong>, <strong>Edit<\/strong>, and <strong>Group<\/strong>. You also get an additional category, <strong>Layout<\/strong>, which you can use to manage how the contents of the group appear. More about that later.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image009\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/5228.clip_image009_thumb_496EACA1.png\" alt=\"clip_image009\" width=\"444\" height=\"228\" border=\"0\" \/><\/p>\n<p>The useful commands to fetch related code elements and show them on the map are also on this top-level menu. For example, when you select a class &#8211; in addition to creating a new map and opening the code source file in the editor &#8211; there are all of the commands to help you investigate the relationships between this class and other parts of your solution. Yes, there are nine of them, but they allow you to show all the related code elements in many different ways.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image010\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/7801.clip_image010_thumb_41E33D34.png\" alt=\"clip_image010\" width=\"454\" height=\"360\" border=\"0\" \/><\/p>\n<h3>You can to choose the layout of a selection of groups<\/h3>\n<p>Often you need to change the layout of the contents of a group, such as the classes in a namespace or the methods in a class. However, you may want to specify a different layout for different groups \u2013 depending on the contents of the group, different layouts make it easier to see what\u2019s going on.<\/p>\n<p>In Visual Studio 2013, you could change the layout of the contents of all groups using the <strong>Layout<\/strong> menu button on the map toolbar, or change the layout of an individual group by using the hovering (pop-up) toolbar that appears when you select a group. But to have different layouts in different groups, you had to set it for each one individually.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image011\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/0003.clip_image011_thumb_11BBF271.png\" alt=\"clip_image011\" width=\"504\" height=\"284\" border=\"0\" \/><\/p>\n<p>**Visual Studio 2013 layout options on the pop-up menu **<\/p>\n<p>Now, in Visual Studio 2015, you can also select one or more groups (hold <strong>CTRL<\/strong> to multi-select as usual) and use the options on the new <strong>Layout<\/strong> menu to specify the layout for just the selected groups. For example, suppose I\u2019m interested in seeing the list of members of all controller classes, without needing to see the calls between their methods. I can simply select the controller classes and specify <strong>List View **on the new **Layout<\/strong> menu.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image013\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/2806.clip_image013_thumb_482CA473.jpg\" alt=\"clip_image013\" width=\"609\" height=\"355\" border=\"0\" \/><\/p>\n<p><strong>Visual Studio 2015 Layout options on the shortcut menu<\/strong><\/p>\n<p>Now I see what I wanted \u2013 a useful list-based view of the controller class members.<\/p>\n<p><img decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"clip_image015\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2015\/07\/6710.clip_image015_thumb_78567FE7.jpg\" alt=\"clip_image015\" width=\"609\" height=\"340\" border=\"0\" \/><\/p>\n<p>With these changes and improvements, you should find code maps are not only more useful, but also a lot easier to create and use. For more information, see <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dd409365(v=vs.140).aspx\">Visualize code<\/a> on the MSDN website.<\/p>\n<p>Thanks for your feedback, which really has been helping us drive the product!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Amongst the improvements we\u2019ve made to Code Maps in Visual Studio Enterprise 2015 RTM are: Several of the icons that indicate the node type have been changed to be consistent with Solution Explorer, and with other tools and environments. The shortcut (context) menus have been reorganized to make them cleaner and much easier to use. [&hellip;]<\/p>\n","protected":false},"author":112,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,251],"tags":[],"class_list":["post-9611","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-security"],"acf":[],"blog_post_summary":"<p>Amongst the improvements we\u2019ve made to Code Maps in Visual Studio Enterprise 2015 RTM are: Several of the icons that indicate the node type have been changed to be consistent with Solution Explorer, and with other tools and environments. The shortcut (context) menus have been reorganized to make them cleaner and much easier to use. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/9611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/112"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=9611"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/9611\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=9611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=9611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=9611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}