Eclipse plugin for JavaScript with Closure Compiler, Closure Library and Closure Linter

Using this plugin? You may also be interested in Apache Ant tasks for Closure tools as well as a message extractor.

In short

Overview

This plugin extends JSDT, the JavaScript development environment for Eclipse, with some features which are useful for developers using the Closure Compiler, the Closure Library and/or the Closure Linter from Google. The main features are:

Completion proposal
Completion proposal
Problem marker
Problem marker
Launch configuration for Closure Compiler
Launching the Closure Compiler
Launch configuration for Closure Linter
Launching the Closure Linter

The following additional features are under development, and will be available in next versions:

If you are also using the the Closure Templates, you may have a look to the Eclipse plugin developed for them.

Installation

Requirements

The plugin should run on all platforms where Eclipse and the Closure Compiler are supported.

Step 1: Install Base Software

In order to use the plugin, you need:

You don't need to install the Closure Compiler to run the plugin, because the JAR of the plugin already includes it. But you may download and install your own copy if you like to run the Closure Compiler out of Eclipse.

Note however that the Closure Compiler requires Java 1.7 at least to run.

Step 2: Install the plugin

Step 3: Configure the plugin

The current version of the plugin requires a little bit of manual configuration. I'll try to make this more transparent in future versions, but for the time being:

Then, for every project using the Closure Compiler and Library:

That's it.

Issues

Under the hood

JavaScript compilation with the Closure Compiler is time consuming. In order to make the plugin usable, I've tried to implement as much optimizations as possible for the background build (with the limit of keeping the Closure Compiler unchanged — though I make some calls of non-public methods thanks to Java reflection).

Of course, the optimizations are not enabled when you run the Closure Compiler from the launch dialog, so that the generated JavaScript file is correct.

The current version of the plugin has been designed to write JavaScript code that follows the Closure coding conventions. It should work properly as long as the Closure Compiler understands correctly your code. If you encounter some problems, please file a bug. Please note however that if you use the Closure Compiler only as a JavaScript minifier, it is probably not worth using this plugin.

License

The plugin is distributed under the Eclipse Plublic License Version 1.0.

History