- MPLABX - 6/10 - based on Eclipse, bloatware, but it works and has autocomplete and other nice goodies; unfortunately you cannot install Eclipse plugins, source versioning is not properly integrated and seems to always be in a beta state
MPLABX is based on Netbeans, not Eclipse. That is why the usual Eclipse stuff doesn't work.
Re compilers - I have used only the PIC18F series of chips so my experience is limited. However, I have to say that both C18 and XC8 (the new Microchip compiler) are junk. I had all kinds of issues with C18, especially its linker doesn't make things easy when compiling for low memory devices. Just yesterday I have discovered that C18 produces bad code for some floating point calculations
The new XC8 compiles the same code into 2x as large binary and the code is still bad. XC8 doesn't even compile their own MLA libraries! Moreover, the documentation for that compiler is non-existent. I wonder why did they bother to actually release that thing as default choice for MPLABX - do they really think people are going to buy the Pro version when the free one is unusable and be their unpaid Q/A bug hunters?
Add to that weird glitches and bugs in MPLABX, such as change several compiler options, hit Apply, you get an error (null pointer reference) and the changes are lost, weird error messages, GUI bugs, and I regretting investing the time to start with PICs. I took it up because I needed cheap USB-enabled chips where AVR Mega and Tiny series are not competitive, but I guess it isn't worth it. Pity, because the chips are not bad at all.
For AVR MCUs: I am working in Linux, so the new AVR Studio is unusable for me. I am not very fond of the Visual Studio shell neither, but the integration is quite good from what I have seen. I am using Eclipse + CDT + AVR plugin + AVR GCC, works just fine, no problems, except there is no debugging. I suppose it is possible to set up avarice and remote debugging with gdb in Eclipse, but I couldn't be bothered so far - I have usually the problem fixed faster than it would take to wire up my Dragon, set up the DebugWire stuff, avarice and gdb.
I am planning to move to ARM for anything requiring USB or more memory, at the prices of the STM32F10x series or LPC11xx chips it isn't worth bothering with AVRs or PIC and their crummy, proprietary tools. I am using self-compiled GCC toolchain + Eclipse + CDT again, works just fine, including remote debugging through OpenOCD and JTAG. I have tried LPCXpresso - Eclipse-based toolchain from NXP - works fine, but why did they have to block installation of Eclipse addons ?!? Stupid! I guess nobody would otherwise pay for things like debugging support if they could use the regular Eclipse debugger