You’ve probably seen others rant & rave about two development productivity utilities offered by DevExpress : CodeRush & Refactor! I first got my paws on these two utilities in April of 2005… right away I was hooked. Since then, I’ve been meaning to post my $.02 on these two VS2003 add-ins but I kept putting it off again and again.
Building add-ins for VS requires an in-depth knowledge of VSIP. Frankly, it’s just not easy at all to build a VS addin. Not that I’ve tried, but I’ve looked at the source of some solutions, read through the documentation and heard some first-hand accounts of how painful the process was. This is true for VS2005 as well.
DevExpress sought out to change this. They have build something called DXCore which you can think of as a framework or wrapper that makes it much easier to build add-ins. What you do is build a DXCore compatible plugin (VS project templates are included with DXCore), drop it in a specific directory, and the next time you launch VS, your plugin is loaded. DXCore also provides a capability to create option dialogs that are all exposed via a central DevExpress options dialog (folder-like view). Everything in VS is exposed via a very slick object model… even code files! Here’s the best part: DXCore is 100% free.. you can download & install it for $0.00. Then you can just obtain plugins from a few sources (there’s a newsgroup where people discuss plugin development that I’ve referenced at the end of this post).
What types of plugins have people developed (only a few examples)?
- CR_Documentor : shows you what your XML based code comments will look like when they’ve been extracted and compiled into documentation.
- CR_JoinLines : Joins two more more lines in the code editor into a single line.
- CR_SortLines : Power sorting of code lines.
- CR_ElectricEditor : Adds EMACS like text editing features to the VS .NET code editor.
- CR_XmlDocCommentPainter: This takes your XML comments and replaces them with a much more appealing view of your comments, complete with icons. See my post in the DXCore plugins newsgroup on 12/2/2005 titled “Looking for a plugin I’ve seen others use” for info on how to obtain this.
Now for the cool (non-free) stuff. CodeRush is simply a collection of a bunch of DXCore plugins (with some extra hooks) that will boost your productivity as a developer. Many of the things that Microsoft added to VS2005 were CodeRush things… like code snippets (hit “fe[space]” and you’ve got a foreach loop all stubbed out). The visualizations are very slick… there are subtle colored vertical lines that line up opening and closing brackets in code blocks as well as some dialogs showing code metrics and such. Don’t let me mislead you though… CodeRush has a lot to offer in VS2005.
Refactor! is just like CodeRush, but instead it contains plugins for refactoring tasks. It’s amusing to see how many of the Refactor! plugins are OOTB in VS2005. Again, don’t let me mislead you… Refactor! has a lot to offer in VS2005 (there aren’t nearly as many refactorings in VS2005 as there are in Refactor!).
At times I feel a bit challenged trying to determine exactly what is in CodeRush/Refactor! vs what’s OOTB in VS2005 because I’ve never used VS2005 without these tools. I guess I’ll recognize more that’s missing once I see more presentations, webcasts, and articles.
Take a few minutes to go check out the training videos on the DevExpress website and read up on these two products… they are flat out way cool. There’s also a MSDN Webcast where the chief architect (Mark Miller) at DevExpress talks about the DXCore and their products (a link to the webcast is in the resources below).
As I just mentioned, Mark Miller is the chief architect at DevExpress. He’s one of those guys who seems like he’s just had about 10 venti Starbucks’. I spent some with with him at their booth at TechEd where I pitched my idea for a potential new DXCore plugin I wanted to work on… fun times as Mark took the time to not only listen, but show me how to get started. Unfortunately we were cut short because the cops kicked us out as the expo was closing for the night.
Anyway, Mark is one of those people that are a blast just to sit down and listen to. He did a great job on the MSDN webcast I referenced above. However, do yourself a favor and download the two sessions he did on .NET Rocks earlier this year, stick them on your MP3 player of choice, and listen during your commute. I like them so much, I’ve listened to them a few times. Wish he blogged more (but I’m not interested in a podcast, I liked the dialog with the DNR guys.
In his first DNR session, Mark had a great problem solving discussion as well as some of the interesting aspects of the DXCore (referenced below). In his second session, he talked more about the design choices in building a framework and what they did with DXCore as well of a component-oriented architecture. He discussed everything from the technical to business aspects related in some of the decisions you make.
I for one give DevExpress, the DXCore & it’s derivatives, and Mark Miller two thumbs up… highly recommended!
- CodeRush Training videos
- devexpress.public.dotnet.dxcore.plugins (use NNTP server: news.devexpress.com)
- MSDN Webcast: Extending Visual Studio with the DXCore
- DotNetRocks: Mark Miller on How to be a Better Programmer (session 1)
- DotNetRocks: Mark Miller wraps it up (session 2)