RightHand.DataSet.Visualizer for Visual Studio.NET 2005 is born

Visualizer is a new cool feature of Visual Studio.NET 2005 debugger. It is exactly what I was looking for visualizing ADO.NET’s DataSet data thus I decided to write my own visualizer. And here it is. You are welcome to download, use and discuss it.

RightHand.DataSet.Visualizer is an MDI application that lets you inspect DataSet structure and its data plus tons of other useful operations on DataSet right from within debugger. This version has a time limitation. See File/About box for the expiration date.

Why would I need a DataSet visualizer?

How often does a .net programmer wonder what data a dataset holds? It is certainly not easy to see the data in regular debugger windows. It is even harder to check the structure of DataSet or find which row has an error or which row has been changed. Or even which column of a row has been changed. If you ever worked with either normal or strong typed datasets you should see what I mean.
That’s why the fine folks at Microsoft introduced visualizers – a debugger feature that makes the inspection of complicated data easier. Even Visual Studio 2005 beta 2 already ships a DataSet visualizer (and some others, such as Text, HTML and XML) which is pretty ascetic. Is there a better replacement? Yes, welcome to RightHand.DataSet.Visualizer, a powerful tool that lets you do almost anything on a DataSet including extraordinary UI feedback.


Jump right to the product page.


Visual Studio.NET 200x easily extensible?

Not exactly. Ever tried to write a Visual Studio.NET 200x addin? If yes, then you know that it isn’t exactly easy. Fortunately, there is a cure to this shortcoming and it is a product called DXCore provided by Developer Express. Basically this is an addin that eases writing new (completely managed) addins or better, DXCore plugins. BTW, both CodeRush for Visual Studio.NET and Refactor! (PRO) are based on this core. If you have experience with writing Visual Studio.NET addins or not you will be surprised how easy is to create a custom plugin. Not only that creating plugins is easy, DXCore also provides great deal of functionality that you can use. What’s even better is that DXCore is free! There is also a CodeRush community (community plugins based on DXCore) that offers various useful plugins (mostly for free). Among them are three plugins I wrote:

To tell you the truth I would never write those plugins without DXCore – to much complicated otherwise.

.net DevExpress

Refactoring in VB.NET 2005?

C# 2005 does refactoring and this is a well known (and very welcome) feature by now. A less known fact is that VB.NET 2005 does refactoring, too. Not out of the box. Instead, Developer Express provides a free refactoring plugin based on DXCore (free engine used by CodeRush for Visual Studio.NET). Refactoring is code modification without alterating external program functionality to put is shortly (for more information about refactoring follow the refactoring links). So, if you are “on” VB.NET 2005 beta 2, go check refactoring.
There is also a Refactor! PRO version (not free, works in all Visual Studio.NET 200x versions) that has additional refactorings that are useful in C#, too. Follow the inline links to learn more (so I don’t have to re-write those information :-)). Very interesting feature of Refactor! PRO is that it is extensible – you can add your own refactorings if you wish to. Isn’t that cool?


Visual Studio.NET 200x Debugger Feature

Last week I’ve presented “What’s new in Visual Studio 2005 Debugger”. One of the cool feature is that you can customize the instance value. For example, consider this simple class:

 public class Tubo
   private string Name;
   private string Surname;

In debugger you would see something like:

Variable | Value      | Type
tubo | namespace.Tubo | namespace.Tubo

One way of changing the Value display (the other way is applying DisplayValueAttribute either to class or assembly) is to override ToString() method:

public override string ToString()
   return Name + “, ” + Surname;


This time you’ll see something like this:

Variable | Value      | Type
tubo | “Tom, Arraya” | namespace.Tubo

This way the display is quite a bit more informative than before.

Interesting fact is, that Visual Studio.NET 2003 already has this feature. It wasn’t as easy as overriding ToString() or applying an attribute though. So, how could one customize it in actual Visual Studio.NET?

There are three files located in C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger folder:

  • mcee_cs.dat
  • mcee_mc.dat
  • vjsee.dat

I am not sure why they are three similar files. Perhaps each of them is linked to certain language (C#, MC++, J#). Anyway, I experimented with mcee_cs.dat since I mainly program with C#. If we go back to Tubo example, I would add this line to mcee_cs.dat file:


and Visual Studio.NET 2003 will display the same value as in our 2005 beta 2 example. I guess the example is simple enough to understand the above line structure. Its get even better. There is a VSTweak PowerToy project going on at GotDotNet web site. I’ve donated an editor for mcee_cs.dat file to the project. It features Intellisense like technology and few automation tricks that helps you create all those nice lines that will help you out inspecting variables.

So, if you want to enhance Visual Studio.NET 2002/2003 debugger display don’t hesitate. The feature is there.

.net DevExpress

DevExpress’ WinForms 2 suite

It’s been few weeks since DevExpress relased next generation of their WinForms components featuring skinning technology. I can’t say anything else than: go check it out. Just beware: once you try them, you’ll become addicted.


CodeSmith 3.0 is released

Eric did it again. New CodeSmith version is out. I have to say that this tool is one of the programmer’s best friends. In other words, it is a must have for a serious programmer.
Excerpt from CodeSmith home page:

CodeSmith 3.0 enables software developers to efficiently:

  • Reduce repetitive coding
  • Generate your code in less time with fewer bugs
  • Produce consistent code that adheres to your standards
  • Create your own custom templates for any language

Go check it out.


Download slides from my two presentations at NT Konferenca 2005

Follow the link to download slides from my two presentations at Microsoft NT Konferenca 2005 held in Portorož, Slovenija.


Community corner at NT konferenca 2005

We have a SLODUG/SLOWUG community corner as part of NT konferenca 2005 in hotel St. Bernardin. Just go to the ground floor and to the right from elevator or to the left from entrance and meet the peers. I’ll be hanging there on Wednesday.


Presenting on NT Konferenca 2005

Wednesday, 18. May 2005, I will give two presentations at NT Konferenca 2005 in Portorož, Slovenija:

Both presentations will be spoken in Slovene language.


Where is Object Test Bench in Visual Studio.NET 2005 Beta x?

Object Test Bench is a feature of Visual Studio.NET 2005 Beta X which allows you to test your code at design time. One can create classes, invoke their methods and stuff like that. Seems very useful for testing code without running entire application. You find Object Test Bench menu item in View/Other Windows menu. Ok, that is a short description of Object Test Bench.

So, where is the problem? The problem is, that the feature wasn’t available (no menu entry or any sign of it) on my copy of VS.NET 2005 Beta 2. I have never tried the feature before so I wasn’t sure if this was a version problem or something else. So, I tried to check out older CTP versions (in the following order):

  • March CTP (it is Enterprise Architect version so I assumed Object Test Bench was there): VS.NET installed but wouldn’t run: beta period expired. Argh.
  • Feb CTP: I had an older install: no sign of Object Test Bench whatsoever. ??
  • Beta 1 (I knew that Object Test Bench was should have been there for sure): no sign of Object Test Bench whatsoever. ?????

This was weird. The feature was in documentation but not in my IDE. So, after spending many many valuable hours installing and reinstalling I took a look at Product Feedback Center for Visual Studio.NET 2005. Pretty soon I found this entry:

Object Test Bench Not available

Even better, the workaround is included. Install everything. Aaargh. I’ve installed everything. Ok, everything minus J#. I can’t believe this was the problem which took half of my Sunday.

Ah, the joys of beta versions.