CodeRush 2.0 and DXCore

Let me start by saying it is not my intention to start a which tool is better CodeRush 2.0 or ReSharper debate.  I think that each has some stronger points and in the end you should be using one if not both of the tools.  This is a post about what I really like about CodeRush 2.0. 

You can read all the marketing materials on CodeRush 2.0 here.  It is a tool that helps in being more productive as a developer.  There are so many features that I probably have only become familiar with a small set of them. 

The first most obvious that you notice when you fire up VS is the visualization tools.  These are basically things that help your brain figure out yours or someone else's code quickly.  There is highlighting of structures so you can easily follow the nasty if block your co-worker left you.  There is a flow/break evaluation visualizer that allows shows you where a statement such as break will next execute.  This could be considered eye candy, but is useful when you inherit code from someone who believes having it all in one class is more efficient.  There are icons that appear next to declarations that show you iconically the visibility of an icon and clicking on that icon allows you to easily change visibility.  There is also a quick nav preview but I have not gotten to using that too much yet.

There are also "Advanced Selection Tools" that allow you to quickly make selections that highlight logical blocks of code so instead of Ctrl + -> to select you would click the key char to quicly highlight entire blocks.  Its very cool when I remember to use it.  It also works closely with another feature I have a hard time remembering to use which is the smart clipboard.

The Smart Clipboard is a set of features that allows you to do smart copy's.  Basically if you have your cursor in the right spot and you hit Ctrl+C it will copy an entire block of code.  So placing your cursor at the beginning of an if block and using the Copy command, it will copy the entire block.  Very cool.  There is also a smart cut which makes moving code easy.

There is also a whole system for navigating which involves using caret's that allow you to navigate through a document.  I have not found a way to break my habit of using bookmarks but I plan on getting to this feature set once I have mastered the templates.

Code Templates are cool.  I have to admit when I first read about the templates I was not super excited about them.  I had been a Dexter user for a long time and REALLY loved the fact that templates were kicked off by actually typing part of all of a key word.  So if I wanted an 'if' code template, I would type 'i' or 'if' then hit space (naturally) and the code block would appear.  CodeRush on the other hand makes you remember all the mneumonics that are stored.  I don't know about you, but my brain takes a while to grasp mneumonics so I just used the templates that were built into VS2005. 

With 2.0 though there is a 'learning' window that you can have open while you are typing so it will show you a context sensitive menu of all possibly templates.  I can not do justice explaining it so you will just have to see the demo's yourself.  You can find those here.  Make sure you watch the 2.0 Intro video.  The 'Cool' video is also cool.  The short of it is that given the learning window, I may be having to give the next 2.0 eval a shot. 

Last but not least is the whole reason I really love CodeRush is its extensibility.  CodeRush is built on DevExpress' DXCore engine.  DXCore is the engine that enables you to easily write your own plugins.  Now right now you may be saying that you can write your own add-in in VS2005 and there have been some good ones written but the DXCore plugin sits on top of a well thought out API that does nothing but super enhance your ability to manipulate code files.  There are all types of events that tie into various VS events.  This allows you to easily manipulate the IDE to do things like color code text, comment code files,  analyze files and what ever else you can think of.  Bottom line is there is not muc it does not allow you to do.  Could you do it with only VS2005 add-ins, probably but I bet it would be harder.  The best part is that you can download the DXCore plug-in for free and from here.  There is also a community of people that have created some very cool DXCore plug-ins.  Here are some links:

Rory Becker's site: http://www.rorybecker.co.uk/
Eric Hock's site: http://www.erichoch.org/dxcore/plugins.html
Travis Illig's site: http://www.paraesthesia.com/blog/weblog.php?id=C0_10_1
Benjamin Nitschke's site: http://www.rorybecker.co.uk/

I have seen a project somewhere in the past that had some cool things like spell checker and code complexity analyzer but could not find it.  If you know of any let me know.

Published Monday, July 24, 2006 9:57 PM by dotnetgeek
Powered by Community Server (Non-Commercial Edition), by Telligent Systems