{"id":15935,"date":"2017-11-13T15:00:00","date_gmt":"2017-11-13T15:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/premier_developer\/?p=15935"},"modified":"2019-03-04T14:54:22","modified_gmt":"2019-03-04T21:54:22","slug":"visual-studio-shortcuts-and-add-on-tools","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/visual-studio-shortcuts-and-add-on-tools\/","title":{"rendered":"Visual Studio Shortcuts and Add on Tools"},"content":{"rendered":"<p>This post from Premier Developer consultant <a href=\"https:\/\/www.linkedin.com\/in\/crystal-tenn-6a0b9b67\/\" target=\"_blank\" rel=\"noopener\">Crystal Tenn<\/a> walks you through customizing Visual Studio to work better for you and your organization.<\/p>\n<hr \/>\n<p>I like tools that make my development faster and more organized. The small amount of time it takes to invest in installing and learning these tools pays off in the long run! I have listed out the shortcuts that I use in my Visual Studio and how to change your settings if you want to adopt some of my shortcuts or make up your own easy to remember ones. You can share settings across a team so that everyone is more productive and in sync. I like to change my new classes so that by default they are public, instructions are below. Also, I use add-ons to help check my spelling, so it is easy for others to find my work (hard for others to find my class if I spell it wrong) and I have listed a couple of options in this article. I did not go into this topic here as it is lengthy, but I also do recommend using ReSharper which has many tools to help you write code faster and more effectively!<i><\/i><\/p>\n<p><i>*As a note, all screenshots are taken with Visual Studio 2017. <\/i><\/p>\n<p>&nbsp;<\/p>\n<h4>How to get to edit Visual Studio Shortcuts:<\/h4>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Click on Tools &gt; Options\n<img decoding=\"async\" class=\"alignnone size-full wp-image-35678\" src=\"http:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut1.jpg\" alt=\"\" width=\"448\" height=\"455\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut1.jpg 448w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut1-295x300.jpg 295w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><\/li>\n<li>Under Environment, go to Keyboard. The highlighted section \u201cShow commands containing:\u201d corresponds to the \u201cVS Mapping column\u201d in the table that you will see next. If you press shortcut keys, you can assign a new shortcut to whichever command is selected. You can type in the shortcut keys to find out if it is used by anything currently by checking the box below that is greyed out in the screenshot that reads \u201cShortcut currently used by\u201d, for example if you need to find the name of a shortcut you use, and you are not sure what it is called.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-35679\" src=\"http:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut2.jpg\" alt=\"\" width=\"986\" height=\"577\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut2.jpg 986w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut2-300x176.jpg 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut2-768x449.jpg 768w\" sizes=\"(max-width: 986px) 100vw, 986px\" \/><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<table style=\"width: 784px; height: 1117px;\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"116\"><b>Action<\/b><\/td>\n<td valign=\"top\" width=\"180\"><b>VS Mapping<\/b><\/td>\n<td valign=\"top\" width=\"154\"><b>Recommended Shortcut<\/b><\/td>\n<td valign=\"top\" width=\"114\"><b>How to remember it:<\/b><\/td>\n<td valign=\"top\" width=\"60\"><b>Default<\/b><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\"><b>Project \/ Files \/ References<\/b><\/td>\n<td valign=\"top\" width=\"180\"><\/td>\n<td valign=\"top\" width=\"154\"><\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Add a new class<\/td>\n<td valign=\"top\" width=\"180\">Project.AddClass<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + N, Ctrl + C<\/td>\n<td valign=\"top\" width=\"114\">N for New and C for Class<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Add new Project<\/td>\n<td valign=\"top\" width=\"180\">File.AddNewProject<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + N, Ctrl + P<\/td>\n<td valign=\"top\" width=\"114\">N for New and P for Project<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Add existing Project<\/td>\n<td valign=\"top\" width=\"180\">File.AddExistingProject<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + N, Ctrl + E<\/td>\n<td valign=\"top\" width=\"114\">N for New and E for Existing<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Set current project as startup<\/td>\n<td valign=\"top\" width=\"180\">Project.SetasStartUpProject<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + S, Ctrl + P<\/td>\n<td valign=\"top\" width=\"114\">S Set as Startup and P and Project<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Add Reference to selected project<\/td>\n<td valign=\"top\" width=\"180\">Project.AddReference<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + A, Ctrl + R<\/td>\n<td valign=\"top\" width=\"114\">A for Add and R for Reference<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\"><b>Code Related<\/b><\/td>\n<td valign=\"top\" width=\"180\"><\/td>\n<td valign=\"top\" width=\"154\"><\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Comment out code<\/td>\n<td valign=\"top\" width=\"180\">Edit.CommentSelection<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + K, Ctrl + C<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Comment in code<\/td>\n<td valign=\"top\" width=\"180\">Edit.UncommentSelection<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + K, Ctrl + U<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Collapse all methods<\/td>\n<td valign=\"top\" width=\"180\">Edit.CollapsetoDefinitions<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + M, Ctrl + O<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Collapse all code<\/td>\n<td valign=\"top\" width=\"180\">Edit.ToggleAllOutlining<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + M, Ctrl + L<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Uncollapse all code<\/td>\n<td valign=\"top\" width=\"180\">Edit.StopOutlining<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + M, Ctrl + P<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Rename all<\/td>\n<td valign=\"top\" width=\"180\">Refactor.Rename<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + R, Ctrl + R<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Fix all code alignment<\/td>\n<td valign=\"top\" width=\"180\">Edit.FormatDocument<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + K, Ctrl + D<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Commenting template<\/td>\n<td valign=\"top\" width=\"180\"><\/td>\n<td valign=\"top\" width=\"154\">\/\/\/ the line above what you want to comment, then hit enter<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\"><b>Navigational<\/b><\/td>\n<td valign=\"top\" width=\"180\"><\/td>\n<td valign=\"top\" width=\"154\"><\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\"><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Go to Declaration<\/td>\n<td valign=\"top\" width=\"180\">Edit.GoToDeclaration<\/td>\n<td valign=\"top\" width=\"154\">F12<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Go to Implementation<\/td>\n<td valign=\"top\" width=\"180\">Edit.GoToImplementation<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + F12<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Navigate To<\/td>\n<td valign=\"top\" width=\"180\">ReSharper VS config default<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + T<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Go to Solution Explorer<\/td>\n<td valign=\"top\" width=\"180\">View.SolutionExplorer<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + S, Ctrl + E<\/td>\n<td valign=\"top\" width=\"114\">S for Solution and E for Explorer<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Go to Team Explorer<\/td>\n<td valign=\"top\" width=\"180\">View.TfsTeamExplorer<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + T, Ctrl + E<\/td>\n<td valign=\"top\" width=\"114\">T for Team and E for Explorer<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Go to Test Explorer<\/td>\n<td valign=\"top\" width=\"180\">TestExplorer.Show.\nTestExplorer<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + U, Ctrl + T<\/td>\n<td valign=\"top\" width=\"114\">U for Unit and T for Tests<\/td>\n<td valign=\"top\" width=\"60\">N<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Previous page<\/td>\n<td valign=\"top\" width=\"180\">View.NavigateBackward<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + &#8211;<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"116\">Forward page<\/td>\n<td valign=\"top\" width=\"180\">View.NavigateForward<\/td>\n<td valign=\"top\" width=\"154\">Ctrl + Shift + &#8211;<\/td>\n<td valign=\"top\" width=\"114\"><\/td>\n<td valign=\"top\" width=\"60\">Y<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>\u00a0<\/b><\/p>\n<h4>How to export Visual Studio Shortcuts:<\/h4>\n<ol>\n<li>Click Tools &gt; Import and Export Settings \u2026.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-35680\" src=\"http:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut3.jpg\" alt=\"\" width=\"601\" height=\"638\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut3.jpg 601w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut3-283x300.jpg 283w\" sizes=\"(max-width: 601px) 100vw, 601px\" \/><\/li>\n<li>On the popup, choose Export selected environment settings and hit Next &gt;<\/li>\n<li>To choose only the keyboard settings, UNCHECK all settings, then go under options, go under environment, and then CHECK keyboard.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-35681\" src=\"http:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2017\/11\/shortcut4.png\" alt=\"\" width=\"267\" height=\"112\" \/><\/li>\n<\/ol>\n<h4>How to import Visual Studio Shortcuts:<\/h4>\n<ol>\n<li>Go to the same menu from Tools &gt; Import and Export Settings \u2026<\/li>\n<li>Choose Import selected environment settings then hit Next &gt;<\/li>\n<li>Select if you just want certain settings or all the settings, for Keyboard go to the same mapping as the screenshot above in the previous set of instructions.<\/li>\n<li>Choose the.vssettings file you want to import and where you want it stored.<\/li>\n<li>Hit Finish<\/li>\n<\/ol>\n<h4>How to set new classes to be public by default:<\/h4>\n<ol>\n<li>Go to one of these locations, depending on which version of VS you own.\n<ul>\n<li>VS2015: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\ItemTemplates\\CSharp\\Code\\1033\\Class<\/li>\n<li>VS2017(RC): C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\ItemTemplates\\CSharp\\Code\\1033\\Class<\/li>\n<\/ul>\n<\/li>\n<li>Edit the template and add the public keyword before class. Add any other changes you would like to a default class or its usings.<\/li>\n<\/ol>\n<h4>Code Commenting Tool:<\/h4>\n<p>GhostDoc helps you with filling in as much of your comments as possible ahead of time so that you can go ahead and customize it a little bit more. It saves you time by putting in a default summary and all your parameters into plain English.\n*Note Pro\/Enterprise come with free spell checking <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/31\/2019\/04\/wlEmoticon-smile3.png\" alt=\"Smile\" \/>!<\/p>\n<p>GhostDoc Community (free) for VS2017: <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=sergeb.GhostDoc\">https:\/\/marketplace.visualstudio.com\/items?itemName=sergeb.GhostDoc<\/a><\/p>\n<p>GhostDoc Pro\/Enterprise\/Community for VS2015: <a href=\"https:\/\/submain.com\/download\/ghostdoc\/pro\/\">https:\/\/submain.com\/download\/ghostdoc\/pro\/<\/a><\/p>\n<p>Cost of Pro\/Enterprise editions: <a href=\"https:\/\/submain.com\/order.aspx\">https:\/\/submain.com\/order.aspx<\/a><\/p>\n<p>Features for different editions: <a href=\"https:\/\/submain.com\/products\/ghostdoc.aspx#features\">https:\/\/submain.com\/products\/ghostdoc.aspx#features<\/a><\/p>\n<p>4-minute kick-starter tutorial: <a href=\"https:\/\/submain.com\/ghostdoc\/GettingStarted\/\">https:\/\/submain.com\/ghostdoc\/GettingStarted\/<\/a><\/p>\n<h4>Spelling Check Tool: ReSpeller (free!)<\/h4>\n<p>If you don\u2019t get GhostDoc\u2019s paid versions and you want free spelling tools you can get it from the folks at JetBrains who made ReSharper by downloading this:<\/p>\n<p><a href=\"https:\/\/resharper-plugins.jetbrains.com\/packages\/EtherealCode.ReSpeller\/\">https:\/\/resharper-plugins.jetbrains.com\/packages\/EtherealCode.ReSpeller\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post from Premier Developer consultant Crystal Tenn walks you through customizing Visual Studio to work better for you and your organization. I like tools that make my development faster and more organized. The small amount of time it takes to invest in installing and learning these tools pays off in the long run! I [&hellip;]<\/p>\n","protected":false},"author":581,"featured_media":37840,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[113],"tags":[76,46],"class_list":["post-15935","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-crystal-tenn","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>This post from Premier Developer consultant Crystal Tenn walks you through customizing Visual Studio to work better for you and your organization. I like tools that make my development faster and more organized. The small amount of time it takes to invest in installing and learning these tools pays off in the long run! I [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/15935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=15935"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/15935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/37840"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=15935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=15935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=15935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}