We have just released (beta) an Eclipse plugin and a NetBeans plugin for Clover, allowing you to instrument your code and view coverage results all from with the those Java IDEs. (A new version of the IDEA plugin will also be released shortly.)
I’m the poor sod who actually coded the Eclipse plugin, and I would be very interested in any comments or suggestions on how it could be made easier to use inside Eclipse. Note that there are a few problems/caveats with this beta, read the doco. (Also, anyone who downloaded the 0.5 beta will find it doesn’t work with JRE 1.3.x. The 0.5.1 beta fixes this problem.) If you do have any suggestions, post them here, or just email me directly.
Writing this Eclipse plugin was… fun? Interesting? At times, like sticking something very pointy in my eye? All three, maybe. The extensible Eclipse architecture is great. But for Java developers using Eclipse, you have to remember that Eclipse is two things: 1) The core Eclipse workbench, and 2) the JDT (Java Development Tooling).
The core of Eclipse is wonderfully designed and documented. There is a smorgasbord
of extension points and APIs to hook into. However, it is obvious that JDT is not
designed to be an vastly extensible base for which people can create Java IDE derivatives.
For example, you can’t hook in and draw on a Java Editor pane (so as to draw special annotations),
nor hook into the refactoring API (it is “internal”). And there is no way to hook into
the JDT’s builder (yes, JDT has it’s own compiler, it does not use the JDK’s
Don’t get me wrong, I’m not dissing the JDT. I think the JDT developers made the right decision by implementing a kick-arse Java IDE for users. The fact that people like me can’t get their fingers into the JDT and start messing about is not a big issue , all things considered. And I have seen some noises from the JDT developers that they will probably expose more extension points over time (like refactoring). It is just amazing how much effort has been put into Eclipse; great IDEs don’t get written overnight. Thanks IBM!
But I still use IDEA.