21 plug-ins to make the most of Eclipse

The vast Eclipse plug-in ecosystem offers rich rewards for application developers who know how to find the gems

Thinkstock/Eclipse

21 plug-ins to pump up Eclipse

Eclipse continues to be one of the most popular developer IDEs, thanks in large part to the broad ecosystem of plug-ins the platform supports. It may have begun as a tool for Java, but more and more people use it for other languages and frameworks, from Scala and Kotlin to JavaScript and Node.js. 

All of this is possible because Eclipse has a good architecture for plug-ins. Big tools and little tools can be added to your copy of Eclipse to extend its capabilities and customize it to suit your particular development needs. 

Here are a dozen of the best Eclipse plug-ins on offer for application development. Some are extremely popular, some are fashionable, and some are just cute, but all take the incredibly powerful Eclipse and make it a bit more so.

[ Discover 2017’s best open source software for developers and IT: The Bossie Award winners. | Track the latest trends in open source with InfoWorld’s Open Source Report newsletter. ]

Genuitec

Darkest Dark

Don’t ask me why dark screens are better. Don’t ask me whether modifying “dark” with “darkest” is redundant. If you’re the type who hates white background, you won’t care about the answers to the questions. You’ll just know you want the Darkest Dark theme because it makes your eyes feel better at the end of the day.

SpotBugs

SpotBugs

How much do I love SpotBugs? Hardly at all, but I respect it for the bad news it brings about the mistakes I make when writing code. Like FindBugs before it, SpotBugs is a tough auditor that has several hundred "bug patterns" programmed into its brain. It searches through your code and then lets you read the bad news in Eclipse. I'm sure there will be some programmers who want to argue with the results, but it's always good to have another pair of careful eyes prowling through the code.

Roman Ivanov

Checkstyle

As much as I hate the fascism of tools like the Checkstyle plug-in, I must admit it's just easier to work on a project where everyone is following the same rules and structuring their code the same way. The brain has a way of learning the style, and it makes it that much faster to understand everyone's code when the whitespace is in the same spot with every method. You can, of course, program the Checkstyle plug-in to enforce your own favorite rules and that means you'll be bossing yourself around. But somehow self-criticism can be even harsher.

Subclipse Project

Subclipse and Subversive

Git may seem to get all of the press but there are plenty of people who continue to use Subversion. They get to choose between Subclipse and Subversive, two plug-ins battling for control of the Subversion repositories. Both have about the same number of followers, and both handle all of the major chores of version control well. The differences revolve around the way some of the information is presented. It’s almost a matter of taste—and the fact that people occasionally have trouble with both of them.

Sonatype

M2Eclipse

M2Eclipse, or M2E for short, is the preferred way to integrate the Maven build tool with Eclipse so that your saves will trigger Maven to build the project instead of just Eclipse. The POM (Project Object Model) editor is elaborate and saves you the trouble of remembering the XML schema for Maven, but you can still edit the raw XML if you like. The illustration shows one of the nicer graphical renderings of the dependency map of the various piles of code.

Jörg Spieler

Unnecessary Code Detector

When it comes time to clean up the code and remove the scraps of genius that aren't needed any longer, the Unnecessary Code Detector is ready to do the job. You push the button, and little flags appear to tell you which methods are no longer in use. The detector also flags a number of other coding faux pas, making it a good tool to use before checking in code to the repository.

SonarSource

SonarLint

Fussing over the placement of spaces and tabs is a big priority for some developers and linting automates the scolding. SonarLint brings all of the bossy power of lint to Eclipse. You can run lint on the privacy of your computer long before you check in the code, where some code reviewer will exert dominance by counting spaces and tabs.

ZeroTurnaround

JRebel

Debugging code is never easy, especially if you’ve got a complicated build. JRebel is a Java agent that’s smart enough to take your code changes and shoehorn them into the already running code. I do it all of the time, but it’s powerful enough that you’ll want to try it first before rebuilding and rerunning everything. It’s a good fit for Eclipse because Eclipse already does much of this from the beginning.

Cédric Beust

TestNG

Writing good unit tests for your code may be more important than writing the code itself. TestNG integrates your tests with Eclipse so you can run them often and early. The results follow compilation, making testing more integrated than ever.

JSweet

JSweet

The Java developers who want to move to JavaScript can take their code with them too. JSweet will convert Java into JavaScript. If you don’t want to leave behind all of your hard work typing your variables, well, it can also produce TypeScript which will, of course, also be turned into JavaScript eventually. The Eclipse plug-in makes it possible for you to do much of your work in Java, if you like, and then produce JavaScript at the end.

Andrey Loskutov

Bytecode Outline

Most of us don't have much of a reason to wonder what's going on inside of the Java stack. Our brilliant higher-order code goes in and answers usually pop out just as we would expect. But for those moments when you need to dig deeper or try to make your code run faster, looking at the actual Java byte code can be useful. And if you're a real programmer, you might even poke around under the hood just for fun. Bytecode Outline is your window into the soul of your code.

Brainwy Software

PyDev

If you have any doubt about the surging popularity of Python, look no further than PyDev, a plug-in that lets Python developers say goodbye to the command line and enjoy the power of Eclipse. It’s not just the basic language either. There’s support for the most popular Python framework, Django, and also tools for pushing your Django code up to the Google App Engine. It’s more a complete world for Python development.

Nodeclipse

Nodeclipse

Building server applications out of JavaScript has captured the fascination of an entire generation of programmers. Now the Nodeclipse plug-in helps them leave behind their command-line realm of endless scripts with odd parameter flags for the warm, nurturing fully integrated development environment. Sure, you can create great Node.js code with Vi and a command line, but why waste all of that brain power remembering all of those commands?

Scala IDE for Eclipse

Scala IDE

For those who love functional languages, Scala has always been an attractive way to enjoy much of the productive structure and support of a functional language while working with the vast code base from the Java world. Scala runs on the JVM and it can link with any JAR files you’ve got sitting around. It should come as no surprise that Scala lovers created a Scala IDE for Eclipse so they can use the power of Eclipse to build applications in their favorite form.

JetBrains

Kotlin

Some describe Kotlin as a streamlined version of Java. Kotlin has a rich stock of functional programming features, nifty ways of handling null values, interoperability with Java, the ability to generate JavaScript and native code, and the enthusiastic endorsement of the Android development team. If you want to jump on the Kotlin bandwagon, the Kotlin plug-in for Eclipse has you covered.

Øystein Torget

YEdit

Was it just yesterday that everyone wanted to store their data in JSON? Today, the hot choice seems to be YAML. The tree structure is the same. The data is pretty much the same. You just use indentation instead of curly brackets. In any case, YEdit is a tool that simplifies some of the details of creating YAML files. Yes, they're not that conceptually difficult to understand, but sometimes all of that indentation requires a bit of help to get straight.

Obeo

UML Designer

I've never understood the appeal of UML (Unified Modeling Language), but there is a sizable number of people who love it and the UML Designer for Eclipse from Obeo. UML is a standard for specifying, constructing, and documenting the elements of object-oriented programming projects. You draw your rectangles, and voíla, everyone understands exactly what you're trying to do. The plug-in also lets you drill down into a tree representation of the XML defining the UML. If you love UML, you might also love the UML Lab Class Diagram Editor and UML Java Generator.

Bio7

ImageJ

Eclipse is generally used by programmers and only programmers, but as computers infiltrate all layers of science, hybrid scientist/programmers are emerging. Indeed, it’s rare to find a scientist who can’t write some basic code. ImageJ is a great image analysis program that has revolutionized much of visual data collection. If you run it inside Eclipse, you can write your own custom code for automating all of the gathering and curation of the data you need for your next paper.