Visual C++ Refactoring

Microsoft DevLabs Free

Add support for Visual C++ Refactoring ('rename' only)

(36) Review
Visual Studio
Download (21,726)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (36)
Q and A (11)
Sign in to write a review
Sort by:

by Hubertsn | Tue 11:03 AM

Finally! Great ;)

by Donald.W.Long | March 19 2015

Installed this today and used it to do several major refactoring, works well. I would like to see it updated to refactor include lines also. My team will start using this. Should be standard in the VS release

by mpietras | March 18 2015

The Visual Studio 2013 editor itself clearly understands the context/scope of variables. If you select a variable, it highlights all occurrences of the variable only in the current scope (even if an identical variable hides one in an outer scope). But this 1.1 refactoring plugin doesn't take advantage of that knowledge, it just seems to blindly look for identical identifiers everywhere including other methods, classes, etc... not quite what I had in mind.

by Dunk_SCO | March 02 2015

Love it! Why is this not part of VS proper? Or is it in 2015 now?

by Minsang Kim | February 05 2015

by Stephan_Gerhards | January 26 2015

Very good. Nothing more to say. Please think about more function.

by jshahbazi | January 14 2015

Love it! Thanks so much for making this! This makes life much easier when developing.

by Genesis8925 | December 22 2014

Looks like a nice add-in, however, no VS2012 support means I can't use it. The project I do all my C++ in cannot be upgraded yet as the core team hasn't gotten around to upgrading it for VS2013. :(

by Daniel Liberman | December 01 2014

I thought that being an extension developed by Microsoft it would be compatible with Express versions. I read somewhere that Express versions won't accept "third-party" created extensions, only. Confirmed by this answer, from Ryan Molden:

by qPCR4vir | September 22 2014

by Marcel Raad | July 21 2014

Great tool! Two suggestions for improvement:

1) If I want to rename a member function that IntelliSense hasn't indexed properly ("Go To Definition" in the header file just jumps to the start of the .cpp file and the "IntelliSense operation in progress" dialog does not appear for some reason), I get an error message saying "object reference not set to an instance of an object".

2) The "Please wait while we process the data" dialog should be cancelable.

by Heinz Wrosch | April 04 2014

This is the extension I've waited a million years for!

by DannMSDN | April 01 2014

Seems like a great concept but when attempting to use (in my admittedly gigantic solution), even on a single project, renaming a variable leads to popping up a "Visual Studio is Working" box that cannot be canceled or otherwise, and after about 15 minutes, the only way to end it is by killing the VS2013 process through task manager.

The var I was trying to rename was localized to a single function that wouldn't be seen anywhere else. The name is used in many places but this specific one had very little scope. Does this just search the whole solution/project for any use of the word, then figure scope afterward?

After trying to use this three times with similar results, I decided to uninstall it -- bummer.

by jesgdev | March 18 2014

Very useful, thanks. Keep up the good work.

by Michael Steinhaus | March 12 2014

Fantastic plugin. Indispensable for a large legacy project maintenance.

by v.vidov | February 05 2014

Very good, looking forward for 'Extract Method', 'Rename Files'
Plaese, include *.rc files in refactoring:)

by heyheyhey27 | January 31 2014

Works great! For everybody saying this doesn't work -- you can't use plugins in Visual Studio Express!

by Petke Himself | January 29 2014

29/01/2014 10:51:17 - Identifier : Microsoft.VisualStudio.MPF.12.0

29/01/2014 10:51:17 - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
at VSIXInstaller.App.InitializeInstall()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

by dancaw | January 03 2014

I seldom get the name of something "right" when I initially write code. Sometimes it doesn't matter, but often it does. Being able to rename quickly and with confidence, as I'm writing or reviewing code, is very helpful. Thanks for the tool.
It would also be nice to have an option to rename a .h/.cpp file at the same time (if a class is defined in those files, and the files are the same name as the class before rename).

by Dr.Noodles | December 18 2013

An excellent addition.

Request #1: It'd be great if it handled file renaming and updated header references throughout the project.

Request #2: Can the window be larger so it is quicker/easier to view the list of matches. It'd be great if it remembered the the size/positioning of the tool window between uses.

Request #3: Sorting option to list the confirmed matches first perhaps?

Request #4: Can it remember the scope setting between tool uses? For example, it keeps reverting back to Solution each time I use it, however I typically use this tool in bursts when refactoring and generally within the same scope such as Current Project.

1 - 20 of 36 Items   
Sign in to start a discussion

  • VS2010 and VS2012
    1 Posts | Last post July 03, 2014
    • Would be nice to have VS2012 and VS2010 version.
  • C++/CLI?
    1 Posts | Last post April 21, 2014
    • Regarding this Visual Studio extension, what's its official claim regarding refactoring of C++/CLI (managed) code?
  • VS2012 version
    1 Posts | Last post March 20, 2014
    • Would be nice to have a VS2012 version.
  • Renamed header files - unusable to me
    1 Posts | Last post March 12, 2014
    • Hi there, this thingie renamed in a much more global scope than required. I had a global variable called "Height" and renamed it to "_height". It then traversed through all my include files and changed them! Things like D3D11blabla._height were the result, inside DX typedefs and whatnot. That's inacceptable behavior.
  • Next up: Introduce Variable?
    1 Posts | Last post February 05, 2014
    • It's nice to see an official refactoring extension from Microsoft! 
      Is there a list of upcoming transformations that you plan to add?
      I would very much like to see an "Introduce variable" transformation (i.e., find all instances of the selected expression and replace it with a const- or non-const local variable declared either before the first use or directly above the enclosing scope.
  • Refactor missing on context menu
    1 Posts | Last post January 16, 2014
    • I have had to reinstall Visual C++ Refactoring a few times, because the Refactor command on the context menu disappears. Could there be a conflict with other extensions? (Possibly Snippetizer or Commentator?) I am using the 1.1 version, the latest.
  • Does not work with std::pair<Type, ...>
    1 Posts | Last post January 09, 2014
    • Just a small bug report. It does not appear to rename types inside std::pair, possibly due to the angle brackets.
  • Does it works across language
    1 Posts | Last post December 04, 2013
    • In a solution that has both C++/CLI code and C# code, things like this one should works across language in both direction. That is, renaming a C# symbol should rename dependant C++/CLI code and renaming a C++/CLI symbol should also rename C# dependant symbols.
      I hope that the integration would be better than "Go To Definition" and the like in VS 2012 (I haven't yet tried VS 2013).
  • Which Editions
    1 Posts | Last post December 04, 2013
    • Maybe it's too early to ask (and probably marketing decides it), but will this feature be available for all editions (including Express), or just certain editions of Visual Studio?
  • To OldGrouch
    6 Posts | Last post November 27, 2013
    • Can you please give me some more context? 
      - are you using a VM
      - are you using RTM VS2013 (clean install or upgrade from RC)
      BTW if you don't mind, you can email me.
    • One more question, looking at the call stack it seems that it is caused by a cpp/h file that is default open in VS (from the suo), but doesn't belong to the current loaded project. Is that the case?
      I would close all open docs and open the cpp from the solution explorer.
      We are working on a fix to cover that scenario and we will update the extension soon.
    • We have a new version 1.1 that is fixing a very similar problem with the one you reported (without having a repro I can't tell for sure). Please give it a try.
    • I can confirm the bug is fixed in 1.1. In the previous version I always got an exception if I had Output window opened in the project. Now problem is gone. Thanks!
    • Sorry, it looks like the problem is gone because of Refactor option is now missing after installing 1.1. Uninstalled and installed again - still no Refactor option in the context menu, CTRL+R,CTRL+R is also not working.
    • Just solved the issue with Refactor option missing. Installed extension from VS's Extensions and Updates. Works flawless. Downloading and installing from this page is not working for some reason.
1 - 10 of 11 Items