Refactoring with Visual Studio

There's one thing I miss about Eclipse, and that's Refactoring. With a combination of 2 or 3 tools, I can almost get to where Eclipse is. Commercial tools, that is. It'll cost you $350 to get something resembling the refactoring and code manipulating support that comes with Eclipse.

  • CodeRush provides some code manipulations, mostly block operations like "surround with try...catch. Actually, this support might be better than Eclipse's, and it is very useful, but a single CodeRush license is $250. To me, the refactoring support is worth more, but CodeRush has no refactoring support that I can detect. I also find the code completion a little over the top; for instance "u " turns into using (...) {}. Sometimes, a variable doesn't warrant more than a single character. CodeRush wants me to thing "u " instead of using; it's quicker for me to type "using" than to remember to type something else. I'd rather have it autocomplete blocks once I've typed a keyword than try to be that predictive. Yes, I know it's customizable. I just think it should be that way out of the box.
  • JetBrains' ReSharper provides some common refactorings; however, they don't always work well; I almost never get the parameter list I want, whereas Eclipse seems to have a better sense of what should be in the parameter list when I'd do ExtractMethod. I'm also missing the ability to move a Also, it has some really funny interactions when combined with CodeRush; for instance, they like to fight over who gets to complete a parameter list, so I consistently get things like Foo(bar)). These tools are supposed to save me typing, and the delete key is a pretty far way to reach. The $99 price isn't too bad, though I wish it did a better job. I find myself using the refactoring menu a lot, but I also find myself wishing there was more on that menu.
  • XTreme Simplicity's Refactory has the same problem as ReSharper, it has a poor sense of what parameters should be. I use ExtractMethoda lot, and that refactoring needs to work well. It's also pretty serious nagware. Trialware authors: don't make me dismiss your advertising dialog! Put up a splash screen that disappears after 5 seconds or something, but don't make me have to tell your ad to go away! The price is the same as the JetBrains offering, and the refactoring works about as well. However, it has several features like code metrics that ReSharper doesn't. And it seems to coexist better with CodeRush; given that neither Refactory nor ReSharper can do the block manipulations that CodeRush can, I'd say that gives Refactory the clear advantage.
  • The Refactoring tool from .NET Refactoring has a pretty humble website. I wish I could tell you what it does, but it doesn't seem to want to install on my machine. I'm inclined to like XTreme Simplicity's Refactory the best, I just wish that it did the code block operations that CodeRush does. Am I asking too much that $100 should buy me that?

— Gordon Weakliem at permanent link