@Disch the debugger is useless to me because I only write DLL modules for software. The debugger I have is extremely buggy with debugging the DLL as it is loaded into the software, and usually causes my IDE to crash. When I write simply test programs it works, but it's still very annoying.
I'm quite fond of Visual C++ Express. It's a very "minimal" IDE. Only thing it really lacks [in my eyes] is a profiler.
On the other hand, I enjoyed my 3month trial of the Ultimate edition. It did have a profiler, but I simply wasn't able to use it properly. Which brings me to my second "wish" for IDEs: proper tutorials of what all the options do. What point is there to 10 dropdown lists with 50 items if I only know what 5 of those are useful for? [Alternatively, I'd like the "auto-hide unused items" options that came with one of the MS Office suites. I know it nearly brought on the Armageddon because people are stupid and conservative when it comes to Office software, but I personally loved it.]
I value lightweight, extensible editor for my preferred IDE. I use Vim and some call it an IDE but others do not. I don't bother calling it anything special--I just use it.
When I need a debugger, I use gdb outside of that environment. Most of my career has been spent working on large distributed systems that made using gdb very difficult because of constant system interrupts that make your tracing jump around. At my current employer, I am beginning to use gdb more often. They have it highly customized for our environment and it was just recently integrated into Emacs (I may integrate it into Vim at some point).
for me the ideal ide would have
1. admisibility of text based algorithim to create a base code
2. specific debugging options
3. generational debugging programme