{"id":1033,"date":"2013-11-19T08:50:00","date_gmt":"2013-11-19T08:50:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2013\/11\/19\/visual-studio-rename-refactor-helper-for-visual-studio-2013\/"},"modified":"2021-09-28T15:03:27","modified_gmt":"2021-09-28T15:03:27","slug":"visual-studio-rename-refactor-helper-for-visual-studio-2013","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/visual-studio-rename-refactor-helper-for-visual-studio-2013\/","title":{"rendered":"Visual Studio Rename Refactor Helper for Visual Studio 2013"},"content":{"rendered":"<p>The C++ language is large and complex with context-sensitive syntax subtleties that make it difficult to create a reliable and fast rename refactoring tool. For years we wanted to include rename refactoring in Visual C++ but it never quite made it. We were concerned about scalability, performance and accuracy for different user scenarios. Rename refactoring might take longer on more complex or larger projects.<\/p>\n<p>Recently, we decided to give it a try. The result is the <a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/164904b2-3b47-417f-9b6b-fdd35757d194?SRC=Home\">Rename Refactor Helper for Visual Studio 2013<\/a> (see the announcement on <a href=\"https:\/\/channel9.msdn.com\/Shows\/C9-GoingNative\/GoingNative-20-Rename-Refactoring-for-Visual-C-\" target=\"_blank\" rel=\"noopener\">Channel 9 \/ Going Native<\/a>). Once installed, you can easily right click on a symbol &gt;refactor&gt;rename in your C++ project. You might still need to manually go through unknown\/unconfirmed results proportional to the scope of the refactoring for complex refactors, but for many common scenarios little intervention is required. Make sure you have Tools-&gt;Options-&gt;Text Editor-&gt;C\/C++-&gt; Advanced-&gt;Disable Resolving set to False. This will allow us to validate the candidate references for the selected symbol.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2013\/11\/8105.111913_1650_VisualStudi1.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-28778\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2013\/11\/8105.111913_1650_VisualStudi1.png\" alt=\"Image 8105 111913 1650 VisualStudi1\" width=\"679\" height=\"490\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2013\/11\/8105.111913_1650_VisualStudi1.png 679w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2013\/11\/8105.111913_1650_VisualStudi1-300x216.png 300w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/a><\/p>\n<p style=\"margin-left: 36pt; text-align: center;\"><span style=\"font-family: Times New Roman;\"><span style=\"color: #44546a; font-size: 9pt;\"><em>Figure 8: Profile Guided Optimization tool in VSGallery <\/em><\/span><\/span><\/p>\n<p>Our goal with this release is to understand how useful this functionality is for Visual C++ developers. We hope it replaces find\/replace in files or copy\/paste (ugh!) \u2013 and with your feedback, we will continue trying to make it better.<\/p>\n<p>Please try the <a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/164904b2-3b47-417f-9b6b-fdd35757d194?SRC=Home\">Rename Refactor Helper for Visual Studio 2013<\/a> extension for yourself, and if it works well enough for you, let us know and we&#8217;ll try to add other refactoring types to the tool as well! And if it does not quite meet your needs, tell us how we should improve it! And be sure to watch the <a href=\"https:\/\/channel9.msdn.com\/Shows\/C9-GoingNative\/GoingNative-20-Rename-Refactoring-for-Visual-C-\" target=\"_blank\" rel=\"noopener\">video on Channel 9<\/a>.<\/p>\n<p>Bogdan Mihalcea (bogdan.mihalcea@microsoft.com)\nVC++ IDE Team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The C++ language is large and complex with context-sensitive syntax subtleties that make it difficult to create a reliable and fast rename refactoring tool. For years we wanted to include rename refactoring in Visual C++ but it never quite made it. We were concerned about scalability, performance and accuracy for different user scenarios. Rename refactoring [&hellip;]<\/p>\n","protected":false},"author":264,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[8,45,140],"class_list":["post-1033","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-announcement","tag-browsing","tag-c"],"acf":[],"blog_post_summary":"<p>The C++ language is large and complex with context-sensitive syntax subtleties that make it difficult to create a reliable and fast rename refactoring tool. For years we wanted to include rename refactoring in Visual C++ but it never quite made it. We were concerned about scalability, performance and accuracy for different user scenarios. Rename refactoring [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/1033","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\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=1033"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/1033\/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=1033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=1033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=1033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}