I wasn't expecting so much feedback, thanks everyone. It seems like quite a few have similar needs as in the first post.
To detail: ICD (or step-by-step debugging) would be nice but it obviously won't work with every platform.
Replying in random order:
Ok, so I have done: coding + compiling + debugging + programming + documentation, etc. on AVR8, PIC32, ARM Cortex M (STM32, LPC17xx, Stellaris and other) plus of course x86, under single instance of Eclipse. As you are mostly interested in in-circuit-debugging, for AVR8 I used JTAGICE + avarice, for PIC32 there was PICKIt2+ejtagproxy, for Cortex-M there were various dongles with OpenOCD. I have not tried MSP430. AFAIK you can also use gcc for Xtensa core and if the GDB is available then that should not be more complicated than for other above architectures. It is also worth noting that there are simulators available for those (simulavr for AVR8, qemu for cortex-m, mips and xtensa) so many algorithms can be debugged/simulated without actual hardware under same Eclipse.
That sounds quite interesting and very close to what I want. Is there any way you can share the way you've configured your eclipse installation? Or perhaps even upload it somewhere, if it's easier.
Simulators are very useful for automated testing. Through careful abstracting/wrapping of the hardware-specific functions you can easily test the code or port it to another platform. So testing was one of my future topics after finding a proper IDE/toolchain flow. Keil could do that and I think the TI version of Eclipse can also.
If a chip has a GCC port that's great for Eclipse, however different chips still have different gdb proxies. For example Microchip XC16 and XC32 is possible to put into Eclipse, but I'm not familiar with a GDB proxy for 16-bit PICs.
I don't think you can [easily] debug low-end PIC16F, wasn't even aiming for that. A makefile approach is fine.
AFAIK Eclipse should get you quite far. I'm using it for various microcontrollers (including PIC -shudder-), PHP (if I really really have to), C++ and VHDL.
Perhaps I misspoke, Eclipse is ok, just not sure if you can integrate everything inside it and still have it perform properly. I have around 4-5 instances floating around for various stuff. OTOH I have at least: one for enterprise Java, one for GWT, one for embedded C, one from TI, one for AngularJS.
A cross-platform cross-compiler with debugger for ATMega, MSP430, Stellaris/Tiva-C, ESP8266 and STM32.
It's good to have dreams.
Not sure if it's meant at my post or it's just a wish. But I'm not talking about a single compiler, that would be almost impossible, just integrating several projects on different platforms under the same IDE and keep a constant workflow.
Both Microsoft Visual Studio Community Edition and Eclipse support Makefile projects. You can put the toolchain anywhere you want as long as you specify the location in the Makefile.
There is an Arduino plug-in for Visual Studio that adds a few buttons that are familiar to Arduino IDE users including COM port, board type, compile, download, etc. It's a vast improvement over the Arduino IDE.
Eclipse is now heavily into building the project Makefile for projects it understands.
You should probably expect to have to get involved with the Makefile if you project grows to multiple files.
This isn't especially hard but there is a bit of a learning curve.
Makefile is fine, it's industry standard AFAIK. The real problem is with the libraries/includes/platform, TI for example has an unreadable XML format. It's probably unreadable even to them as they have broken compatibility several times.
VS is nice but I don't particularly like it and it's not cross-platform. I could get used to it, if needed.
Maybe PlatformIO, i don't know if it supports all your platforms. Personally, I tried it, but found it too complicated and unintuitive for my liking, but that said i also hate eclipse and my "IDE" of choice is a text editor with syntax highlighting, a file tree and a shell terminal, that's all I want, I absolutely hate any "project management" stuff in an IDE.
I found out about platform.io after writing my original post. It looks very promising and 'they' seem to be considering adding debugging support. I also don't like it but willing to sacrifice some of my habits if it gets the job done.
As a side note - I've also grown fond of the IntelliJ-based IDEs from Jetbrains. For C they have CLion, which I haven't used, but I assume it's as good as the other ones.
I don't want to use one IDE solution for everything.
But I do use my favorite text editor Kate for everything.
Most IDE's are aware when an opened file is changed from outside the IDE and reload the file automatically.
I'm not sure if you can get an external IDE to highlight compiler errors without a lot of fumbling. Also the advantage of an integrated IDE is that you can debug line-by-line and check the current state of a variable. Sure, you can read the errors and jump manually, run git from the command line, run gdb manually - but then you are only a level above notepad.
So far there seem to be two promising possibilities: platform.io (can be used with another IDE for editing files) or a custom setup of Eclipse.