CodeRush and Refactor

There are a lot of Visual Studio Addins out there, and I've owned and/or evaluated probably all of them.  I'd have to say that the CodeRush/Refactor product is the most polished, comprehensive one there is.  Very worth mentioning are both ReSharper and CodeSMART.

Strictly speaking, CodeRush and Refactor are separate products from the same company.   But you'd probably purchase them together as a package deal.  Or you might win the license they've allowed me to give away at Code Camp :)  I'll refer to them together as "CodeRush" for brevity.

So what does CodeRush do anyway?  Well, it has so MANY features that you'll need to read up on it - perhaps using the guide that's built right into Visual Studio:



One of the main features of CodeRush is to help you "rush" your code from your mind to the screen.  It's like Intellisense with a rocket engine attached.  Please review the following:



Notice I'm inside a class and I've typed in the humble letter "p" and nothing else.  When I hit the TAB key, here's what CodeRush will do:



If I had hit a "pi" before hitting TAB, it would have given me:



If I had hit a "ps" before hitting TAB, it would have given me:



I'm sure you get the point :)  I should mention it's pretty :)  Much the same happens when I use the letter "m" like so:



It expands to:



And "mi" would become:



There are literally TONS of these ready for your use.  But that's not all....  Take the following method:



Look at the refactorings that are easily available:






Did I mention this thing is PRETTY?

Let's look at a simple class I've defined:



Here are some refactorings I could apply:



So what happens if I hit "Extract Interface" on this?



and you can see that it's intelligent enough to do this:



There is a LOT more of course.  And it will annoy you at times.  Especially when its intellisense fights with Visual Studio's intellisense.  Too much help is no help at all.  Remember the guide I showed you way back at the beginning?  Go there, and navigate to the following section:



Here you will learn how to change the template behavior, create your own, etc.  If you're anything like me, you'll want to do that pretty much immediately.   Here's why:

Above, when I mentioned hitting the TAB key, I was not exactly telling the whole truth.  By default CodeRush uses the SPACE key to activate itself.  OMG you have no idea how annoying that is until you've seen it in action.  Try to type in a line of code like: 

Dim p as New Person

and have CodeRush spew out all of its "help" before you even realize it and you'll be looking for the Uninstaller.

But don't uninstall - just go to the guide I showed you above, and it shows you how to change that setting.

Enjoy!


BONUS: DevExpress has agreed to allow me to give away one license to CodeRush/Refactor at the Code Camp talk I'll be giving this weekend.