The Eclipse IDE from the non-profit Eclipse Foundation is known for its plugins ecosystem and theEclipse Marketplace hosts a huge amount of plugins that you can download to customize your Eclipse workbench. I recently scanned the Marketplace just to see if there is anything interesting I could find. In fact, I did find some plugins that I think are cool, but not very well-known, so it’s these that I’d like to share with you.
There are some qualities of plugins that I’d like to mention. First of all, I’d like to stress that I’m looking at the plugins that are not tools on their own, and therefore my favourites like JRebel for Eclipse and JBoss Tools are not on the list here. The plugins that I mention are just nice little extensions specifically designed for jazzing up your vanilla Eclipse IDE installation.
Secondly, popular doesn’t mean cool. There’s a top list of popular plugins at Marketplace, which almost haven’t changed during last 2-3 years.
It would be quite boring for me to accept that if a plugin is cool just because it is popular and is in the most downloaded plugins list at the Marketplace. The popular plugins are there just because the essential functionality that the plugins provide is not included in Eclipse by default. This is why the Maven, Subversion and Git plugins are at the top there.
Although I’m a Java developer, sometimes I have play with shell scripting and there are a couple of plugins that are useful for this work. The ShellEd plugin adds shell script editing capabilities while the Terminal plugin integrates the shell write into the Eclipse workbench.
With ShellEd and Terminal plugins I can write the scripts and try them out directly in the Eclipse window without switching between different windows. Efficiency FTW!
The next plugins on my list are More Clipboard, Smart Save and AnyEdit. These plugins improve my editing experience in Eclipse by an order of magnitude.
More Clipboard keeps track of the latest entries copied/cut into clipboard buffer and allows you to quickly paste from the popup list by pressing a hotkey. Yeah, let’s accept that – we do a lot of copy-paste editing while writing code :)
The AnyEdit plugin, by Andrey Loskutov, adds a bunch of editing capabilities to Eclipse. You can sort the contents of files and selections, encode HTML snippets, quickly convert between tabs and spaces and much more. This is a must-have plugin for Eclipse, I’d say.
Primarily, I’m an IntelliJ IDEA user and one of the essential differences for me with the Eclipse editor is that in IDEA the editor saves the changes automatically. So I was looking for something similar in Eclipse and found the Smart Save plugin, which can be configured to automatically save the change after some timeout. Cool and handy!
Although, I think it might have some impact on the editing experience since in Eclipse it is quite common to have the Compile on save option turned on by default and that eventually leads Eclipse to do a clean build. So theoretically, it might happen that you have just edited something, but Eclipse decides to do a full build and blocks the workbench.
Next up, the Eclipse Color Theme plugin is the only one in my list that is also quite popular on Eclipse Marketplace. This plugin allows you to setup a color scheme for your Eclipse editor and comes with a number of nice themes out of the box.
Personally, I prefer the Roboticket color scheme, but there also plenty of others to choose from, such as the Monokai theme below.
If you’re a fan of the continuous feedback approach in development and you enjoy writing unit tests (here is why unit tests are awesome) then you might find the JLoop and JUnitLoop plugins very useful. These plugins can execute code if any changes are made. I found it working quite nicely with JUnitLoop – when I changed a method that was exercised by my unit test, the test was re-executed automatically, providing a rapid feedback to my changes.
Your strive for efficiency might lead you to the beautiful land of automation. Unfortunately, there’s no built-in support for macros in Eclipse, so you can’t just record and replay your activities. However, there’s a few plugins that make it possible to automate different activities in the IDE by leveraging scripting support.
One of the first plugins in this niche is GroovyMonkey which is not actively maintained. Other alternatives are ScriptEclipse and EclipseScript plugins (don’t confuse the two!).
Essentially, the idea is similar behind all these implementations–the engine exposes some of the internal Eclipse objects to the script where you can implement your own logic according to your requirements. The scripts are then stored in the workspace and, for accessibility, the plugin composes a menu from the list of script files.
One last plugin that I’d like to mention in this post is the IDE++ plugin that helps you to explore better and more efficient ways of doing things in Eclipse installation.
It analyses your activities and tries to give you suggestions for a quicker way to do the same task. For instance, if I tried to close all the editor tabs one-by-one, the plugin detected this and notified me with a nicely-styled popup basically saying “Hey geek, did you know there there’s a more efficient way to close the tabs by using CTRL+SHIFT+W?”. Unfortunately the plugin doesn’t know that it will be a bit different on Mac :)
I really liked the idea behind the IDE++ plugin–it helps you to detect inefficiencies in your usage of Eclipse, so I hope the plugin will be developed further.
If you’re an Eclipse user, some of the plugins mentioned in this post should help you understand your IDE better and even code more efficiently in Eclipse. Hopefully, you’ve found these plugins just as cool as I have. Please leave comments if:
We are actually planning to more posts on Eclipse IDE for Java developers, getting into the deeper technical areas as we progress, and publish more Rebel Labs content on this subject…so let us know what you’d like to see!