CodeRush for VS .NET: Oops, Mark Miller did it again
For about the past month or so, I've had Visual Assist .NET turned off both at home and work. This is fairly notable since I'm an admitted keystroke economy addict.
As preface, let me state that I love VA.NET. It's been a good ride and you were there for me when there wasn't anything else decent in the VS add-in universe. But I'm not writing a lot of C++ and really I've just been using VA.NET for template extension and variable suggestion. While it does these things well, it's simple out of its league when compared to CodeRush.
That's right, CodeRush. The Delphi IDE add-in written by Mark Miller is so addictive it should come with its own 12-step program. It now comes in a VS.NET flavor and I'm happy to report its newest incarnation is every bit as good as the original.
I'm not really even that excited about the new version of VA.NET, it looks a bit tired to me after using CR in VS. In short, I'm in IDE love again.
Nooks and crannies:
Intelliassist. Sure Enter does the same old completion thing (although it does some nice presentation/visual cue tricks). Shift+Enter is a neat twist, as it cycles through uppercase letters... so if you have myCounterFoo you can type 'my' and it will suggest myCounterFoo. Hit Shift+Enter once and you're now highlighting myCounter, hit Enter, type Bar to create myCounterBar. Nice.
SmartCut/Copy and SmartPaste. Genius. SmartCut/Copy let you move a block up onto the clipboard by just being adjacent to it with no selection. That's neat, saves you the manual selecting--but no great shakes. But check out the big brain (or, at least, Big Context) on SmartPaste. In method Foo you type out an invocation MyBarMethod -- you copy said invocation. Move down past method Foo into the white space and hit paste. CodeRush inserts the following:
public void MyBarMethod()
{
}
Sure it's only a shell declaration. I don't care, it's thoughtful and I like it. (I'm sandbagging a bit, there are also two CodeRush markers included with the declaration which let me navigate to the right areas to flesh out the declaration. On balance, a small feature but I think it reflects the kinds of nice touches found throughout CodeRush.
Region Painting: Smooth. Very smooth. Ctrl+3 works pretty well right now as-is, but it's fairly finnicky about the exact nature of the selection. It should be a little brighter about trimming leading/trailing whitespace.
There's a lot more too it, but these are things I happened to note just in a few days of light coding. There are some sheer genius moments revealed when using it.
The bad news: it's pretty darned expensive, about 3X the cost of Visual Assist .NET. Which is tough, because these kinds of tools seem like they would usually be purchased at the developer level, not at the corporate level. So, $260 is a pretty good-sized chunk. I can't say I can afford to spend that on the product, but I can say I something similar for the Delphi versions and I never regretted having spent the money. I wonder if I can turn in my CR4 3.5“ floppies for an upgrade...
DevExpress would argue that (if you're getting paid more than drive-thru wages--and, frankly, is that really a given anymore?) the time you save with templates alone will get you into a sub 30-day payback period. Which is, of course, the actual reason employers should be lining up for tools like this for their known human assets. Well, maybe that does happen some places--over here at IT megamonolith X, discretionary tools don't happen.
No matter who's dime it is, check out Code Rush if you like IDE add-ins. Spend some time learning the ins and outs of templates with it--the product still has a few quirks to work out, but the more I use the pre-release version the more I think it could be the best third-party VS add-in ever.