Pimp my ‘clipse – a list of must-have Eclipse plug-ins for Flex/Flash Development

by

Eclipse Rims

FlexBuilder may have its ups and downs but it still remains my pick for best AS3/MXML editor on the market (with TextMate not far behind). Part of the beauty of FlexBuilder is that it’s built on the Eclipse SDK, one of the most versatile and powerful IDEs available, which is not only free and open source, but boasts a wealth of third party plug-ins for every kind of (mostly Java) development. This article will take a look at some must-have plug-ins for doing Flex development as well as some tips for tricking out your development process.

As with all of our entries, your feedback, suggestions, corrections and additions are all more than welcome.

Disclaimer: This article applies to the Flex Builder Eclipse Plug-in version, not the standalone version. If you’re using the standalone version and would like to try these plugins out, I recommend installing the plug-in version. It’s a little harder to use but I think it’s more rewarding in the end. Also, this tutorial was written on the Mac version with Eclipse 3.3 and Flex Builder 3 beta 2 so your experience may vary slightly if you’re using Windows or something else. Furthermore, I am not responsible for any damages or loss of data or anything else that happens as a result of you following the advice in this article – nothing should go wrong however many plug-ins are buggy and may cause eclipse to perform poorly or crash.

Installing FlexBuilder Eclipse Plug-in

To install the FlexBuilder Eclipse Plug-in version you will probably want to first uninstall the FlexBuilder Standalone. You will also need to download and install Eclipse. Important: Eclipse is currently in version 3.3.1.1 at the time of writing. If you’re using FlexBuilder 3, good for you! Go and download the latest version (get the classic distro). However, FlexBuilder 2 does not work on Eclipse 3.3. You’ll need to download the older version 3.1 or 3.2 of the SDK which are hidden deep in the dungeons of the Eclipse Project site.

After Eclipse is installed you can proceed with the installation of the FlexBuilder plug-in. Additional installation instructions can be found on the Adobe Site.

Installing Plug-ins

If you take a look at the Eclipse plugin central you’re liable to notice two things right off the bat. First, there are a ridiculous number of plugins especially for really obscure branches of Java development. Second, the Eclipse site is completely ugly and it’s often incredibly frustrating to use. I’ll try to help you get to the juicy bits quickly.

By far the best way to install Eclipse plug-ins is to use update sites. Update sites allow you to select and download plug-in packages directly from the developer from within the Eclipse program. The update site URLs are notoriously difficult to find due to the Eclipse site’s confusing navigation. For example, I jut tried to get to the update site URL for Europa, a major Eclipse supported plugin, and it took about 4 minutes worth of clicking for me to find it (at best it takes 3 clicks). These elusive links to update sites should, in my opinion, be in big red letters on the front of every project page so in case Eclipse is reading this right now, WTF doodz!?

Once you have the update site URL take the following steps to search the site for updates:

  1. Go into eclipse and click on Help > Software Updates > Find and Install… (Help menu? Again, WTF)
  2. Select Search for new features to install
  3. Click the next > button
  4. Click on the New remote site… button
  5. Give the update site a label and paste the update site url. Click ok
  6. Make sure the site you added (and any other sites you want to update) are checked and click the Finish button
  7. On the next screen you’ll see you can choose which features of the plugin you would like to install. For most plugins, you’ll probably want all of them so check the root folder. Note: you may see an error at the top of the window such as FooBar v.0.7 requires plug-in ‘org.eclipse.foobar.core’. If this happens, it can usually be fixed by clicking on the Select Required button which will automatically select the required features.
  8. When you’re done selecting features, click Next >
  9. ALWAYS CAREFULLY READ EVERY LINE OF THE EULA! then click I accept the terms of the license agreements and click Next >
  10. Click the Finish button. You may be asked again about certain features during installation for which you can click Install All to keep going
  11. When the installation is done, restart the Eclipse SDK

That’s it in just 11 tedious steps!

To get updates of already installed plugins choose Search for updates of the currently installed features at step 2 and follow the instructions above. If you install a plugin that conflicts with your setup or if you want to temporarily disable or uninstall a plugin, you can always go to Help > Software Updates > Manage Configuration… to manage your environment. Keep in mind that most plugins add new items to Eclipse preferences, the Window > Open Perspective dialog, the Window > Show View dialog or the File > New dialog.

A note about simultaneous releases – Europa, Ganymede, and Callisto

In 2006 the Eclipse Foundation decided to take ten of the most used plug-ins and wrap them into one release so that the plug-ins would update at the same time as the Eclipse SDK. This project was called Callisto. They considered it a great success so they did it again in 2007 and (confusingly) called it Europa. 2008′s project is called Ganymede.

Some of the plug-ins listed below are part of the Europa project (currently, the latest full version release). To install these plugins you will want to check the Europa update site which contains several projects but you should select only the ones you want to install.

Must-have Plug-ins

Plugin Web Tools Platform (WTP)
Website http://www.eclipse.org/webtools/
Update Site http://download.eclipse.org/releases/europa/site.xml
Description

If you work with Flex or Flash, chances are you’re making a website. This project provides tools for editing the standard web formats like XHTML.

Mylyn is part of the Europa simultaneous release.

Plugin Mylyn
Website http://www.eclipse.org/mylyn/
Update Site http://download.eclipse.org/releases/europa/site.xml
Description

Mylyn lets you code using the concept of task-oriented development. It is built to help you focus on a single task by obscuring unused classes and hooking in with most of the commonly used bug-tracking tools. Especially cool if you use a program like TRAC.

Mylyn is part of the Europa simultaneous release.

Plugin CVS & ANT
Website N/A
Update Site N/A
Description

Technically, not a plugin. CVS support and ANT support are built into the latest version of Eclipse so you won’t need to install these separately. However, they function like plugins and they are very useful so I think they deserve a mention here.

CVS support allows you to manage CVS (Concurrent Versioning System) Repositories and make checkouts and changes from within Eclipse. Personally I prefer SVN for versioning (see also Subclipse) but sometimes it’s not up to me and this functionality is quite useful.

ANT is a tool you can use to create build scripts for your Flex project or for any other language. This is a must-have for larger projects with complicated deploy folders. More info on using ANT and Flex can be found at Adobe Labs and in the Flex 2 docs.

Plugin Snippets
Website N/A
Update Site N/A
Description

OK. To be honest, I’m not sure how you install this one. I think it’s automatically installed as part of the Web Tools Project (WTP) or maybe PHP Development Tools (PDT) also mentioned in this post. Either way, once it’s installed you can access it through the Window > Show View menu item.

Snippets lets you define code templates that let you add big chunks of code to a class with a few clicks. You can define variables that appear in the code as well. For example, you may create a snippet that creates a private variable and a public getter and setter and only pass in the variable name and the type. Pretty useful, but not as good as TextMate.

Plugin Subclipse
Website http://subclipse.tigris.org/
Update Site http://subclipse.tigris.org/update_1.2.x
Description A plugin that lets you manage a list of Subversion (SVN) repositories, check out directly from the list, and update, commit, etc. the files in the repository straight from your navigation view in Eclipse. So basically like Tortoise SVN for Eclipse.
Plugin TODO / FIXME Task Plugin
Website http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757
Update Site N/A – see website
Description

This is a simple little tool that tracks all of your TODO or FIXME comments in Eclipse’s Tasks view. There’s no update site so you’ll have to follow the instructions on the webpage.

Plugin JSEclipse
Website http://labs.adobe.com/technologies/jseclipse/
Update Site http://download.macromedia.com/pub/labs/jseclipse/autoinstall
Description Adobe’s official JavaScript plugin for Eclipse with support for FlexBuilder, popular JS frameworks, and JavaDoc.

Notable Mention

Plugin Eclipse Regular Expression Tester
Website http://www.brosinski.com/regex/
Update Site http://brosinski.com/regex/update
Description This is a tool that will help you visualize Regular Expressions which can be very confounding to look at even for people who are experienced with using them.
Plugin Ruby Development Tools (RDT)
Website http://rubyeclipse.sourceforge.net/
Update Site http://updatesite.rubypeople.org/release
Description If you develop in Ruby, you’ll probably want this. Also see PDT below.
Plugin PHP Development Tools (PDT)
Website http://www.eclipse.org/pdt/
Update Site http://download.eclipse.org/tools/pdt/updates/
Description If you develop in PHP, you’ll probably want this. Also see RDT above.
Plugin Aptana
Website http://www.aptana.com/
Update Site http://update.aptana.com/update/3.2/
Description

A full featured IDE for working on web apps. There is also a standalone version. Aptana looks very promising, however, I disabled it since it seemed to be conflicting with other plugins in my Eclipse setup.

Roger kinda likes it though:

aptana is great because it is an integrated development environment, unlike a standalone text editor. Its integrated Javascript contextual completion and compatibility matrices are lifesavers. It plays nicely with other eclipse editors and uses a plugin architecture to support not only [X]HTML and Javascript, but also RoR and PHP.

Plugin FDT 3.0
Website http://fdt.powerflasher.com/
Update Site N/A
Description FDT has a great track record and the Enterprise edition of FDT 3.0 could be the first third-party FlexBuilder competitor worth considering. However, with the price of the package now approaching the nine-hundred dollar mark thanks to our failing currency, this is a fairly high-risk alternative.
Plugin Eclipse Monkey (aka project dash)
Website http://www.eclipse.org/dash/
Update Site http://download.eclipse.org/technology/dash/update/
Description Allows you to create scripts to automate Eclipse itself using JS. I haven’t used this but it sounds interesting.
  • http://www.digitalflipbook.com Mark

    I have to agree with Roger, Aptana really is great.
    Originally, my base Eclipse install was the all in one package of PDT and Eclipse from Zend (since the plugin of PDT can be very complex to install) – http://www.zend.com/en/community/pdt.

    I then installed the Aptana plugin and became hooked on the AJAX support. After a few releases, they added PHP support and I slowly started playing with that. After a while I got hooked on it and just uninstalled PDT completely (well to be honest I uninstalled Eclipse completely and then installed the base Eclipse and reinstalled Aptana).

    Either way, I haven’t run into any issues with Aptana. But I don’t have the Flex Builder plugin installed with it (I use the standalone and switch back and forth), so maybe that might be causing some conflict.

    Another quick plus of Aptana is AIR support and iPhone Development support.

    PS: I actually choose the base Eclipse IDE for Java Developers instead of Classic. From what I understand the only difference is that the Classic does not contain Mylyn or an XML editor.

  • http://seld.be Jordi Boggiano

    Nice article, being a long time Eclipse user I think it’s one of the best features of Flex that it is actually built upon Eclipse, therefore allowing you to use many plugins.

    However I just wanted to point out that to use Subclipse on Flex2, you should use the following update site as the newest one is not compatible : http://subclipse.tigris.org/update_1.0.x

    Besides I’m not sure why you are saying that the plugin version of Flex is required -or more rewarding to quote- to work with plugins. I didn’t try many plugins with my standalone Flex installation, but until now I didn’t have any problems. Did you run into some issues that led you to that conclusion ?

  • http://knowledge.lapasa.net Mark Lapasa

    Thumbs down Subclipse
    Thumbs up Subversive

    http://www.eclipse.org/subversive/

  • http://losdesigns.com Mims Wright

    Jordi,

    I may be wrong about the plug-in version being better for plug-ins. I guess I just assumed that you couldn’t install plug-ins on the standalone version. Can you tell us more about how that one works?

  • http://blog.jeffyamada.com Jeff Yamada

    I’m lovin FB3 Alpha plugin in Linux. Drool.

  • Greg

    What about CFEclipse? Anything good, bad, or versioning I sould be aware of? Getting a little tired of having Dreamweaver up for my CFCs.

  • http://losdesigns.com Mims Wright

    Greg:
    Sorry, I’ve never used CF for anything so I’m not sure. From what I can tell on google, it’s good.

  • Pingback: Good list of Eclipse plugins specific to Flex « Ramblings

  • Pingback: dispatchEvent() » Blog Archive » Accessing named MovieClips placed on the stage in Flash CS3 while staying true to OOP best-practices

  • Pingback: The Flash Blog » Pimp My Eclipse - Part 1

  • http://www.bigsource.de Kim

    Nice article. We also work with Eclipse but use FDT for the development. For compiling with MXML, FCSH, COMPC, ADSOC, MTASC and so on we build an Eclipse Plug-in called “BigSource Zarkov”. You find the installation instruction and dokumentation here http://zarkov.bigsource.de

    Kind regards,
    Kim

  • http://www.henke.ws Mike Henke
  • Pingback: Flash Tutorials

  • Pingback: Using XML Schemas in Eclipse / FlexBuilder « dispatchEvent()â„¢

  • Pingback: labs.shaun-oconnor.com » Flash Development / Design Work flow

  • kgorham

    Dash/Eclipse Monkey is awesome. It lets you automate eclipse using JavaScript files that can be written quickly. It also creates menu items and shortcut keys very easily. Follow this example to automatically create getters and setters. The blog is written for actionscript but it can be modified for any language.
    http://eokyere.blogspot.com/2007/09/productivity-with-dash-in-eclipse.html

    -kg