SharpDevelop Community

Get your problems solved!
Welcome to SharpDevelop Community Sign in | Join | Help
in Search

Itai Bar-Haim

The Class Diagram Addin and its Surroundings

SharpDevelop is the program I use at home for all my .Net coding. At work I've used Visual Studio for the last couple of months, but I'm coming from a Linux background, and used mostly GVIM as my editor, that is the most common editor where I work (Some say sadly...)

As you can see, I've experienced  both low level tools and high level tools. I started using SharpDevelop because, like most people, I prefer the high level tools (the IDEs) and SharpDevelop was there and was free (recently Microsoft released Visual Studio Express, but it takes forever to install and takes about 1.5 GB, for nothing more than any other IDE would give).

After a while working with  SharpDevelop, I started to feel that some things could be made better. As my work title is a software architect, I many times start my coding work in the Class Diagram view, drafting the architecture visually. This feature was missing for me in SharpDevelop. So I thought, why wouldn't I write an addin?

I started working on my addin by looking for explanation and a starting point. I found the wonderful tutorial and video in the wiki, and started implementing. A couple of refactoring phases made the addin architecture nicer (note that it is not yet complete) and many elements were made reusable.

During the creation of the addin I found that some features I want to use from within the addin are also missing from SharpDevelop:

  • Class Editor
  • Class Wizard

The class editor is a fairly big feature allowing the editing of the class structure from a simple tree-grid-view, showing the hierarchy of the class (class->members->parameters) and allowing to add and remove members and parameters, while the code is changing accordingly.

The class wizard is a simple code generator, that asks you to fill in some information about your class, like its name, the class from which it inherits, the interfaces it implements, etc... and it creates the code for you and add it to the project. A good class wizard allows you to fill in the bare minimum of required information manually, and creates the class respectively. The idea is that the class can and will be modified later on by the class diagram.

Currently the class diagram is working fairly with quite some bugs (like layout) and missing features (like editing). The class editor does not allow editing at the moment and the class wizard is in its early stages, although today I managed to use it to create a new class in my project.

Well, I'll keep writing (the addin and in the blog), and I hope to get things done soon.

See you next time,




cbr600f4 said:

I would really like to see an add-in like this. Keep us posted on your progress!

December 30, 2006 5:19 PM

darkcloud said:

Very good!

Please post on as you make progress

January 2, 2007 9:09 AM
Powered by Community Server (Commercial Edition), by Telligent Systems
Don't contact us via this ( email address.