I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Eclipse - So Much More Than Just Java

01.30.2008
| 21362 views |
  • submit to reddit
Everyone knows how good Eclipse is as a Java IDE. There's countless plugins to do practically anything you want to do while you're developing your latest application. But there's more to Eclipse than just being as Java IDE. It's like the Swiss army knife of software development.You can build on the Eclipse platform to provide your own IDE thanks to the ever flexible extension mechanism. In this article I will attempt to list out all the different languages (other than Java) that people have built support for in Eclipse, and briefly discuss how you could add support for your favourite language using the Eclipse Dynamic Languages Toolkit.

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:

Bundles

Before I discuss individual language plugins, you can also get bundles of Eclipse that are made available commercially.
Perhaps the best example of this is MyEclipse. For web development, it’s still one of the best choices. There’s a big feature list available including support for databases, AJAX, Javascript debugging, UML, Web Services, Struts, JSF. It’s very reasonably priced too with the professional edition being just under $65. There should be no reason that you can’t add on any of the other plugins that I’ve listed along the way in this article onto your MyEclipse installation.

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/C++

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.
Plugin Link Comments
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 BuilderAs 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.

 

PHP

If 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.

Plugin Link Comments
PHP Development Tools - EclipseThe 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 EclipseZend 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.



Javascript

Plugin Link Comments
myJSEditor myJSEditor has the standard IDE features that you would expect – syntax highlighting, error reporting and code completion. But the most interesting feature is the casting feature – considering that Javascript is typeless is use a special type of comment in the format /*: <typename> :*/ to do the casting.
I’m hoping that more features will get added to this, including debugging, as there is room for on brilliant Javascript editor for Eclipse.
jsEclipse JSEclipse, owned by Abobe, provides more of the same, with completion, project outline, syntax highlighting. The extra little things it gives you include code templates, support for popular Javascript libraries such as Dojo and Prototype and, of course, compatibility with Adobe FlexBuilder 2.
The disappointing thing about this plugin is that it’s been in pre-release since April 2007, indicating that this project might be dead.

 

CORBA

Plugin Link Comments

Eclipse CORBA Plugin

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 7ORBStudio 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

Plugin Link Comments
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.

 

Perl

Plugin Link Comments
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 IntegrationEPIC 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

Plugin Link Comments
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.
AptanaThe RadRails plugin, as used by Easy Eclipse, can be downloaded as an Eclipse plugin or as a standalone product (with Aptana Studio). I don’t have much experience with rails. This plugin has support for Javascript as well as Ruby and Rails. It contains code generators, an integrated debugger and a database navigator.
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 Languages

Of course, there's lots more plugins for other languages:
LanguagePlugin Link Comments
COBOLEclipse COBOL IDEIt'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
ErlangErlang IDEStill 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.
PrologAmzi 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.
GroovyGroovy Eclipse PluginThis 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).
HaskellEclipseFP - Eclipse Functional Programming SupportThe 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.
ColdFusionCFeclipse 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 EclipseProvides syntax highlighting, and uses the Eclipse Platform to generate Scala code from project wizards. It also integrates with the Scala compiler.
ScalaScaliptor 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.

Ada

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.
AdaAonix 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 IDE

Whether 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.