Today, the Groovy-Eclipse team has released milestone 2 of Groovy-Eclipse, tool support for the Groovy programming language built in Eclipse. In this milestone release, we have focused on responsiveness and features in the user interface. This milestone is significantly more stable than milestone 1 as we have fixed over 100 issues in the bug tracker.

To install M2, add the following URL to your Eclipse update manager:

Inferencing Engine

The inferencing engine now forms the core of many of Groovy-Eclipse's most prominent features. The inferencing engine is uses static analysis to infer the type of a single or a group of expressions of Groovy code. it is being used as the basis for content assist, navigation, search, and discovering unknown references. We have posted a detailed description of the inferencing engine.

Refactoring Support

Cross-language refactoring support is now available in Groovy-Eclipse. Now, when renaming Java methods, fields, and classes, your Groovy code will be updated as well. And the reverse is true. You can find more information here.

Task Tags

The Groovy compiler now parses task tags such as TODO, FIXME, and XXX. They are treated by Eclipse in the same way that Java task tags are. Task tags are configurable and can be viewed in the Tasks view. More detailed information can be found here.

Content Assist and Navigation in GStrings

Content assist and navigation are now supported inside of GStrings. For example, in the following image, content assist will display both local variables:

Notice also that the x is underlined. This is because the x reference is undefined in the current scope. See the description of the inferencing engine for more information on this.

CTRL-Click (or CMD-Click on Mac) will follow a hyperlink to the definition of whatever is being hovered over (pressing F3 will have the same effect):

Extensibility for custom DSLs

Also included in M2 are extension points for custom DSLs to hook into Groovy-Eclipse's inferencing engine, content assist, and syntax highlighting. This is still basic work and will be more fully announced for RC1. This extensibility is particularly suited for implementing Grails tool support in STS, but it is generic enough for any Groovy DSL to use.

Issues fixed

If the above doesn't show for you, go directly to the jira issue tracker


Thank you to the community for diligently trying out new releases, raising bugs, suggesting fixes, and discussing features. If you want to participate in the discussion, join the mailing list and raise bugs in our issue tracker.