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.
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()
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).
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.
Convenient and beats search and replace. Would like option (maybe another checkbox on first dialog) to sort the subsequent list with confirmed matches at the top, rather than file-line order. Alternately, just setting the initial focus in the list to the first confirmed match would be nice (particularly when I'm just renaming a parameter inside a function).
Works really well, thanks for finally doing it! Now I can be a bit more productive. I would really like to have create definition (and/or declaration) and inline/not switching re-factors in one of your next releases.
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.
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.
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.
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).
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.
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.
ReSharper is a 3rd party extension and they decided to remap the default Refactoring Rename key binding. We use the same VS key binding that exists for the other langs to maintain consistency.
To solve that conflict, you can simply re-bind in Tools->Options or add your own text editor scoped binding for Refactor.Rename (also in Tools->Options)... if you wish.
We are using the VS preview service, and I will pass your feedback to them. Like always, it will be recommended to open a bug, in that way you can easily track progress.
I installed Resharper and I see the extension has an option to hide VS "overridden" menu items. A possible workaround for you is to uncheck that option (Resharper > Options > Keyboard & Menus). Once I did it, I started seeing the Refactor > Rename for the C++. I hope this helps.