|So, whilst doing some actual work with VC 7 over the past weeks, I've come up with two new things I hate. Second is the resource editor. First is what I'll be
|bitching aboutcommenting on here: solutions.
"Solution"... ick. I haven't encountered solutions since my high school chemistry class. Let the marketdroids play with Windows and Office and the other stuff that has to appeal to non-techy people. They can talk about Office 20XX being "the solution" for whoever's troubles. But keep marketing-speak out of my IDE, for two reasons. 1) It's a horrible replacement for the old term "workspace", and 2) I feel like I'm a marketdroid when I say "solution" to someone else. :shiver:
But if it were just as bad as having to do a mental
s/solution/workspace/g during my day, it wouldn't be hateful. The real offender is the new project system. I already stumbled over this back in my early days of using VC 7 (read about it here[^]). The way it works is:
This is, by itself, not bad, aside from the overloaded use of "configuration." However, it gets better:
- A solution contains a number of projects
- A project contains a number of configurations
- A solution configuration is a list of projects and project configurations
You select the current solution configuration using the combobox in the Standard toolbar. This is the list of projects and build targets that gets built when you hit F7. The StartUp project is the project that gets run (and built, if necessary) when you hit F5.
- At any point, there is a current solution configuration
- At any point, there is a "StartUp Project"
Where it gets hateful is that while the preset solution configurations and the preset project configurations have the same names, they are not the same things. You could set the
MyApp Debug solution configuration to build
MyApp|DebugUnicode if you wanted to. And with the similar names, it's easy to misunderstand the purposes of the
Project|Project Dependencies and
Build|Configuration Manager dialogs.
So, assuming that you've correctly processed how the solution/project configs work, you're in for more fun if you have multiple binaries in your solution. To change which one gets debugged by F5, you have to set one as the StartUp project. How do you do this? A simple combo box like the solution config? Hah hah, of course not, foolish mortal. You have to go to the Solution Explorer pane (aka FileView from VC 6), scroll around and/or collapse tree branches until you find the node for the right project, right-click it, and pick
Set as StartUp Project. Simple! And how do you know if you have the right project set as the StartUp project? Again, you have to scroll around in the Solution Explorer pane and look for the one node whose text is bold. That's the only way VC indicates what F5 will do.
Those two things, in combination, replace the simple and obvious "current project" notion in VC 6. What does F7 build? Your current project. What does F5 run? Your current project.
This is yet another concept relating to projects/solutions that is almost, but not quite, completely unlike the others. Result: much confusion.
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
"That probably would've sounded more commanding if I wasn't wearing my yummy sushi pajamas."