consider the desktop the piece of software that integrates them together
I have Notepad++ open on one monitor (the 1280x1024 one) and all my command lines on the other monitor (the 1024x768 one) and that works really well - all i need to do is switch to one of the command lines (depending on what I want to build) and press "Up" and "Enter" (previous command, usually make all).
Either that, or Visual C++ 6 when I'm doing such things as DirectX or Windows GUI programming.
Visual Basic when I'm prototyping a concept (or just want to get a project done, and not worry about speed or anything else like that).
I'm one hard drive down at the moment, once I buy another one I'll be able to finally use my PC dedicated to server stuff and install Linux onto it. As an added advantage I can do any Linux development I want to.
I find Doxygen very helpful for large projects where the major portions of the code are unknown, or project that I have abandoned for quite some time.
My favorite feature is the caller/callee graphs - they really help to show the relationships between different functions. Also, the multiple output formats.