Eclipse is Easy To Extend

It’s about time that I continued that series I started discussing a rather old blog entry extolling the virtues of Eclipse 2.0 titled “Ten Reasons to Use Eclipse“. I’m up to reason #4 (If you need to catch up, see reasons 1, 2, 3).

#4 – Eclipse is Easy To Extend

The Plug-in Development Environment, or PDE, is an integrated development environment for developing extensions to the Eclipse platform. Using the PDE is like using Eclipse to develop Eclipse, allowing developers to leverage the excellent Java tools to extend the platform itself. I discuss the JDT (Java Development Tooling) more in detail below.

Thanks to the PDE, and to the attractiveness of the platform itself, Eclipse has succeeded in generating tremendous traction in the software development community. Plug-in projects aiming at integration more development tools into the Eclipse platform, are already too numerous to be listed here. Let’s only mention a few:

    • the unescapable JUnit and Ant are part of the JDT (the base Java IDE).
    • EASIE by Genuitec is a set of tools to manage J2EE application servers from within Eclipse. They’re precious for J2EE development.
    • a ClearCase team provider to access ClearCase repositories.
    • AntlrSupport integrates the Antlr parser into Eclipse.
    • the AJDT provides support for Aspect Oriented Programming in Java.

    The list is growing fast! As Eclipse gathers more market mass with plug-ins addressing all facets of the software lifecycle, it will soon become a de facto standard workbench for Java developers.

The list is indeed growing fast. It was growing fast in the 2.0 timeframe, and it continues to grow fast. In the past there were several portals leading to an indescribably huge number of plug-ins for Eclipse, both commercial and open source. Numerous portals still exist, but now there is an über portal in Eclipse Plug-in Central (EPIC).

As expected, the list above has changed a little… EASIE by Genuitec has morphed into MyEclipse which by all accounts is a wildly successful IDE based on Eclipse technology. I wonder too if the original author might have included the Eclipse Web Tools Platform on the list since he seems to have interest in J2EE. I guess that’s changed as well; J2EE has been replaced by Java EE. AntlrSupport seems to still be around, but I’m not sure what it’s current status is. There certainly is support for Antlr development in the form of Antlr Studio by Placid Systems.

The other plug-ins mentioned still exist and have been joined by thousands more.

To be honest, I’m not sure how easy Eclipse is to extend. In my experience, it’s relatively easy to extend Eclipse to do relatively simple things. My first few plug-ins were little utilities that did things like parse through XML files, and add methods to Java classes. This sort of thing is generally easy. I fairly quickly evolved to building fairly capable and feature-rich plug-ins. Doing harder things takes a little more effort as is naturally harder. However, given that the PDE makes it relatively easy to get started, it’s certainly the case that a step-by-step approach into the wilderness that is the Eclipse API is a good way to get your feet wet. But, like any other platform or framework, trying to jump into the middle is really hard.

So, I’m not sure that it’s easy. It’s not all that hard. However, it certainly seems worthwhile to extend Eclipse. And extending Eclipse is certainly easier than the alternatives.

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Eclipse is Easy To Extend

  1. Chris Aniszczyk (zx) says:

    PDE loves you too.

  2. willCode4Beer says:

    I’d be interested in a post (with code) about one of your plugins with some info about what the code does and whatever gotchas you faced/avoided.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s