Eclipse - So Much More Than Just Java
The Eclipse community hosts three projects to provide core language support for popular languages, including C/C++, PHP and COBOL. Other languages here are supported using third party plugins (both open source and commercial).
I've broken up this article into the following sections:
BundlesBefore I discuss individual language plugins, you can also get bundles of Eclipse that are made available commercially.
Easy Eclipse also provides distributions of Eclipse targeted to different types of developer. These are mentioned throughout the article. All of these distributions are free, so typically contain the core Eclipse Platform plus some third party plugins. It’s worth taking a look at the various distributions on the site as I haven’t listed them all in this article.Borland's JBuilder also provides an Eclipse distribution containing the core platform and a number of Borland plugins.
C and C++ are hardly new languages, and it's great that despite the amount of IDE's supporting C/C++ development that there is an official Eclipse project providing C++ support.
It is essential for a lot of Java developers to be able to use the same IDE for both Java and C++ development.
|Eclipse CDT C/C++ Development Tooling||Run as on official Eclipse project, the CDT is in its 4.0 stream and had it latest release at the end of November 2007, with the next version planned for June 2008.|
There are both benefits and drawbacks to using CDT over Visual Studio. If you're still using Visual Studio for your projects, there's a useful article about how to migrate to Eclipse CDT including a detailed comparison between VS and CDT.
For people new to Eclipse, Easy Eclipse for C/C++ provides a prebuilt distribution of Eclipse with the CDT plugins.
|NDS Managed Builder||As I was investigating for other C++ plugins for Eclipse, I stumbled across this project, which caught my attention. It's It allows you to develop with the NintendoDS as your target system. It sounds interesting, and if I ever get a DS I'll definitely be giving this a go.|
PHPIf you need web development done well quickly, I don't think there's any better choice than PHP. Once again, Eclipse isn't going to get in the way of a nice language being added to your development suite.
|PHP Development Tools - Eclipse||The official Eclipse PDT project builds on the Web Tools Platform to provide a really nice PHP development experience. Full syntax highlighting, code assist and project navigation is provided. If you add in the Zend debugger (see more on Zend below) or Xdebug you can get full debugging support too. The frequency of releases has been great and it's currently 1.0.2.|
|PHPeclipse||I've been using PHPeclipse for about a year, and once again, it does what you want any good IDE to do, with nice syntax highlighting, code assist and the typical IDE features. |
I think it would be great for the PDT project and PHPeclipse to join forces and really make Eclipse the IDE of choice for PHP developers.
For those unfamiliar with Eclipse, who want a quick start into PHP development, Easy Eclipse For PHP provides an intriguing bundle of plugins, and bases itself on PHPeclipse over PDT.
|Zend Studio for Eclipse||Zend Studio is a very interesting offering, and is something I need to spend more time evaluating. The first thing I like about this is that it's based on PDT, so it's building on what the community has given. You don't need to worry about installing a separate debugger as it's included in the studio. There's nice code generation and code coverage features in there, as well as PHPUnit testing support. |
I'd recommend taking this out for a test drive to see if it makes your PHP development smoother. While it's not free/open source, it's a more than reasonable price to pay ($299 for perpetual licence with one year’s access to support and upgrades) for something that can really improve the speed and quality of your PHP development.
The disappointing thing about this plugin is that it’s been in pre-release since April 2007, indicating that this project might be dead.
|The ECP project is a work in progress, so there’s a good chance that this could become the plugin of choice for COBRA developers on Eclipse. |
So far, you get syntax colouring, outline views and auto completion for IL types. There’s a few more features planned, which I’m sure won’t be too far off – the last release of this plugin was in the middle of this January.
|ORB Studio 7||ORBStudio seems promising, as it makes use of the wizard framework in Eclipse to provide simple ways of building Client and Servers from an IDL. There’s also a variety of COBRA implementations supported. |
It sounds like a good example of a plugin that’s leveraged a lot of the features of Eclipse to provide a good editor for its domain, but when I tried to download the project, I got a server error!
|Python Monkey||PythonMonkey looks like a standard IDE plugin for Python, built on Eclipse Monkey (which is under Project Dash). The idea of Monkey is that it allows the creation of little scripts for automation of routine programming tasks.Project Dash itself is a project in incubation, so maybe there will be more from this plugin in the future.|
|PyDev||PyDev can be used for both Python and Jython development within Eclipse. It provides code completion, highlighting, refactoring and debugging. There’s an addition plugin of extensions for PyDev, giving extra features such as code analysis, go-to-definition and quick-fixes. It seems to me to be a great example of building on Eclipse to get a quality IDE. Easy Eclipse provides a distribution Python developers including PyDev. This ready made distribution is good if you’re a Python developer that would like an introduction to Eclipse.|
|Pedeto||Pedeto provides wizards for creating new Perl scripts and modules. It also has typical editor functions including tooltip help, code folding, syntax highlighting and background syntax checking. It also has a debugger with breakpoints, watches, stepping and variable display. |
It’s a commercial tool but the licences aren’t too expensive, starting at €199 for a single licence.
The same company provide a number of Eclipse plugins for other tasks.
|EPIC - Eclipse Perl Integration||EPIC seems to have much the same features as Pedeto, and has a regular expression plugin available. EPIC is open source, so it might attract more users than Pedeto.|
|Ruby Development Tools||The RDT project (whose developer has moved onto Aptana) provides full editor features, Test::Unit Integration and a debugger. It also contains a regular expressions tester and highlights regex groups.|
Easy Eclipse for Ruby and Rails bundles the RDT project and the Aptana RadRails plugin, as well as QuantumDB – providing another useful quick start bundle for Ruby developers.
It seems like a pretty neat tool if you’re focused on Ruby/Web Development.
All Aptana tools are available as plugins, so you can also develop with PHP and for Adobe Air and the Apple iPhone.
Other LanguagesOf course, there's lots more plugins for other languages:
|COBOL||Eclipse COBOL IDE||It's interesting that there is COBOL support for Eclipse - but I'm not sure how much activity there has been on this project since 2005. |
It's a full featured environment for your COBOL programs with easy wizards to get a project created, built and debugged
|Erlang||Erlang IDE||Still in its early stages, but I think it'll be one to watch.|
Erlang, open sourced by Ericcson in 1998, is a functional language like Haskell with built-in support for concurrency, distribution and fault tolerance is popular in academic and commercial circles. And with the rise of multi-core chips, it's looking like it'll get more mainstream, so it's fitting that there's a plugin is being developed to integrate into Eclipse.
|Prolog||Amzi Prolog+||Since Amzi 7.0, along with the command line tools and Logic Server, Eclipse has been used as the base of their IDE for the development of standalone embedded and remote Prolog components. It provides syntax colouring and project cross reference. |
The debugger is very effective, as it can debug compiled components in other languages/tools and components running on remote machines.
|Groovy||Groovy Eclipse Plugin||This plugin allows the editing, compilation and running of Groovy scripts/classes. It’s a work in progress at the moment. If anyone has more information on this I’d be interested (I haven’t used Groovy myself).|
|Haskell||EclipseFP - Eclipse Functional Programming Support||The EclipseFP project supports a number of functional programming languages, of which Haskell is the most popular (or at least the one I am most familiar with). |
There’s compiler & interpreter support for GHC and Hugs. There’s even a subproject that allows you to create extensions for Eclipse in Haskell. The project seems fairly active, with a milestone build last November.
|ColdFusion||CFeclipse||CFEclipse provides syntax highlighting, code insight, project outline and problem finding to Eclipse. There’s also code completion for HTML and CF tags. |
The most useful features are an integrated web browser for quick previews and a “scribble pad”.
|Scala||Scala Plugin for Eclipse||Provides syntax highlighting, and uses the Eclipse Platform to generate Scala code from project wizards. It also integrates with the Scala compiler.|
|Scala||Scaliptor||Scalipator hasn’t had a release since 2005, so I’m not sure how active it actually is. Currently, it seems to have the same features as Scala Plugin for Eclipse (above), but apparently there is a debugger on the way.|
|AdaCore - GNATbench||Syntax highlighting and dependency graphs are the main features of the IDE. There’s a full GNAT Ada compiler and there are utilities for analysis, testing and a visual debugger.|
|Ada||Aonix ADT - Ada Development Tools||Currently in Incubation as an official Eclipse project, base on the Aonix development tools. THis plugin provides provide an Ada language editor, compilation and build capabilities and a debugger interface. Wizard assist with Ada project creation and two compilers (ObjectAda and GNAT) are provided.|
Build Your Own IDEWhether you want to provide support for your favourite language, or write your own IDE for a proprietary language, Eclipse allows you to do this.
Most recently, the Dynamic Languages Toolkit has started in Eclipse. It’s currently in the Incubation Phase, but already there’s a lot to read on the site, and there’s examples ready to use there including Tcl, Ruby and Python development environments.
There’s a really good guide available on Building a DLTK-based language IDE which is a great way to get started. Whole Platform also provides support to create your own IDE, with a tutorial on Creating A Language by Defining A Model. It seems to be another nice approach to writing up your own IDE.
There are more ways to create your own IDE with Eclipse, using EMF, GMF and other frameworks. I will be covering the topic of building your own IDE based on Eclipse in the near future.
I hope this article has illustrated the sheer amount of language support that exists in Eclipse and the infinite possibilities that exist thanks to the flexibility of the Eclipse Platform.
If I've missed any of your favourite plugins for any of the languages, please let me know and I will add them to this list. It would be useful to maintain a list like this on EclipseZone for quick reference.