views:

870

answers:

5

Ok, I'm developing an application that has been in pretty much continous development over the last 16 years, from C in DOS, through various flavours of C++ and now is largely based around C++ with MFC and StingRay GUIs and various other SDKs.

While I use VS 2005 for the release builds, I still use MSVC 6 for much of the GUI building, simply because ClassWizard is so much quicker in this environment than the weak equivalent tools that followed. Note that I am using ClassWizard to automatically generate code for my own user defined types (see Custom DDXs) and I like to add a lot of member variables and methods in one go. Creating them one at a time as per later versions of Visual Studio for me is a big backward step. At the same time, working with multiple IDEs is also a pain.

My question is in two parts;

  1. Is there any way of getting ClassWizard to work is VS 2005 or VS 2008?

  2. Is there any drop in replacement, or alternative IDE, that provides similar levels of productivty for old C++ hacks such as myself?

+1  A: 

I will suggest avoid code generation at all and use your favorite editor to manually create new code. If i understand correctly your are expert in this area and i sure you know that manually created code will be much cleaner and simpler then the generated one.
In additional the code generator is a nightmare for code reviews, it change zillions of places that should not be changed at all and it's really hard to concentrate to the meaningful changes.
IMHO.

Ilya
+1  A: 

I would also suggest you put the neccessary DDX/DDV (as well as message handling) macros (and member variables) manually into your classes. At first it seems a bit difficult to find out how and where exactly one is supposed to write the entries, but after a short while it's rather easy. I started doing that after porting a VC6 project over to VS2005, and for exactly the same reason you gave: there is no suitable replacement for ClassWizard. However, after two years I can say that I don't miss it at all anymore.

Pepor
+1  A: 

A follow up to those who are interested. ClassWizard may be re-introduced in VS2010, from Tarek Madkour [VC++ Team]

'We are considering adding the Class Wizard back to VS10. We hope this will make DDX/DDV function creation more keyboard-centric just like it was in VC6. There are some schedule challenges that we will need to overcome to get the feature done, but I am optimistic that you will see it when we ship VS10.'

Click here for the full discussion

Edit: The release notes for VS2010 confirm that MFC Class Wizard is back. So contrary to popular belief, the guys at MS do listen to their users.

Visual Studio 2010 provides a C++ IDE experience that includes the return of the MFC Class Wizard, the ability to view large source files through Source Outline, integrated quick searching to find information without the confusion of the current “Find In Files” method and an easily extensible IDE model through the new Managed Extensibility Framework (MEF).

Shane MacLaughlin
A: 

You can write click on controls on form and add variable or event handler. It is not as good as VC6 but still. I do not see any point in writing the DDX manually.

Omer
+1  A: 

Agree with Shane, the CW alternative in vs2008 is shockingly poor; it makes you wonder if anybody at Microsoft still uses MFC. I’ve started bumping my estimates up just because of the generally poor afx/mfc integration. It’s just not finished and what is there is pretty buggy. Sure you can put the code in by hand, nobody is claiming its hard but seriously, its grunt code, its 2010, you just shouldn’t be writing this stuff by hand anymore.

Vman