This applies to both VS 2003 and VS 2005 (e.g. for adding a new ID to a menu in an MFC project and handling that ID in the MFC CDocument).
***PLEASE*** redesign the Event Handler Wizard. Although the current design allows the task to be completed, the usability is so bad that I find it extremely hard to believe that anyone "dogfooded" this dialog. I will pile my criticism up high for this dialog, because the rest of VS (in general) is very usable and very well designed.
For an MFC programmer, this dialog is used much more than every other dialog in VS combined. Any small usability improvements you can make here will save thousands hours of work for people.
1) When the wizard comes up, the class list always starts at the top. When you have hundreds of classes, scrolling down and finding a class is a real drag. Why not remember the last class that was used and select that one by default (i.e. it is highly likely that the user will add another handler to the same class)
2) In VS2003 (maybe 2005 too?) The Class list is NOT sorted alphabetically, which makes finding class names a brute force task. Hopefully this is addressed in VS2003 SP1?
3) Two extremely-common tasks are:
i) to add a COMMAND ***and*** an UPDATE_COMMAND_UI handler for the an ID that was just added.
ii) to add a number (>1) of menu IDs (e.g. Add/Edit/Delete functions) and then associate them with a class.
Right now you have to go in and out of the wizard for each item, which wastes tons of time (especially because of issues 1+2 above). The wizard should really let you press "Add", then select the new "ID" or "message type", press "Add" and keep going WITHOUT leaving the wizard.
a) it would be great to have a "favourites" section in the class list. 95% of the time, the event handler is added to the (App, Doc, Mainframe, or a View). If you have access to type information (i.e. from the NCB file) could you put these classes at the top of the list? Or allow some way to add a list of class names somewhere (project settings?) so they appear at the top of the list.
b) it would also be great to have a "favourites" section in the command name (i.e. the ID). This would be the last 10 (or so) IDs that were added to the application (just grab the bottom 10 IDs from the resource.h file).
No offense, but these complaints about loss of functionality compared to the VC6 ClassWizard have been widespread ever since the introduction of VS2002.Net (and doubtless before than in the beta testing). In fact, these complaints have largely ceased, because we have become convinced that Microsoft has no interest in fixing this issue.
"They took away the 'Class Wizard' and replaced it with 'something else'
which is not called the 'Class Wizard' but is supposed to do the same job.
Well, it doesn't."
As for the class pane where you're supposed to access all these menu items ( http://msdn.microsoft.com/library/de...VisualCNET.asp ) the intial parsing of the class pane is too slow (takes about 30 minutes to go through the "xxx files to parse" background processing before I see ANY classes in the class view in ALL subprojects) So basically I cannot use the class pane at all to get to these menu items.
In 2005, not all is bad, however. The search functionality of the class pane is great (once it parses everything).
Yes, I agree it is know issue for long period of time. And this is why it is important to log similar suggestions. Even I do not see us addressing this particular suggestion in the next release because we have already picked areas of focus.Still it is the area where I also want to see VC IDE significantly improve and hopefully there will be time and resource to address this side of the product in one of the next releases.