This is not a flame, just my own perspective.
Personally, I view the IDE as just another tool. Use the correct one for the Job. Like picking a given language, or MCU. Granted, there will be a learning curve. Just like moving to another language, or MCU. Over the last 18 or so years though, since I started programming. I have become adept at reading through docs, learning just what I need to know, when I need to know it.
There are IDE's like TI's Code composer studio 5 that integrate certain plug-ins / tools for various MCU's. Some of these tools are very handy, and highly integrated into the IDE. Making it easier on the developer. SYS/BIOS is one such tool that I personally like a lot.
Passed that, who better than the MCU's vendor to optimize code generation ? Of course YMMV . . . If you know how to optimize code better than the vendor, what are you using an IDE for ?! Code completion? Tools that only work with a given IDE, for specific processors ? Brand specific debugging ? Real time analysis tools ? Starting to see a pattern here ?
A lot of times however. I find myself writing code in notepad++. As often times I write code in 3 different languages, for a single device using web interfaces. Yeah, I know, HTML and javascript are hardly what I would consider languages in of themselves either. But are not written in my native tongue . . . hence must be separate languages *shrug*
P.S. to the guy who mentioned emacs vs VI. Neither ! Nano all the way
Sorry could not resist.