Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

We have several major advances included in the 2.5.0 release of Groovy-Eclipse. In addition to including both Groovy 1.8.0 and Groovy 1.7.10, we have introduced support for DSL descriptors that allow first class support for custom DSLs in Groovy-Eclipse.

You can use the following update site sto install this release.

Groovy-Eclipse update site for Eclipse 3.6 and 3.7


And a zipped version of the update site is available at:

You can install from the zip by pointing your Eclipse update manager to the downloaded zip file and following the installation instructions.


DSLD support

The Groovy language is an excellent platform for creating domain specific languages (DSLs). A good DSL can make programs more concise and expressive as well as make programmers more productive. However, until now these DSLs were not directly supported by the Groovy editor. When DSLs are used heavily, standard IDE features like content assist, search, hovers, and navigation lose their value. For a while now, it has been possible to write an Eclipse plugin to extend Groovy-Eclipse, but this is a heavy-weight approach that requires specific knowledge of the Eclipse APIs. This is no longer necessary. Groovy-Eclipse now supports DSL descriptor (DSLD) files that makes your DSL fully understood by Groovy-Eclipse.

For example, it is possible to create a simple DSLD script that adds support for a distances DSL.

With no DSLD in your workspace, the following code snippet will be underlined and have no hover information:

But add the following code snippet to a DSLD and the hovers will go away, and appropriate documentation will be available through hovers:

Then the code snippet from above looks like this:

For an overview of the feature, see the blog post on DSL Support. For a complete description on how to create and use DSLDs, see the documentation for DSL Descriptors for Groovy-Eclipse.

Groovy 1.8 support

Groovy 1.8.0 final is now available in Groovy-Eclipse as an optional add-on. Groovy 1.8 will not be installed by default with the rest of Groovy-Eclipse. Instead, it is available as a separate feature that can be installed from the Groovy-Eclipse update site. For information on how to do this, see Compiler Switching within Groovy-Eclipse.

Parameter guessing proposals

Groovy-Eclipse will now suggest some relevant content assist proposals when filling in the arguments for methods. The relevant proposals will be based on the inferred type of local variables and fields that are in the scope of the newly inserted method proposal. For example:

In the screenshot above, the method declaration method(String, int) is added through content assist. For the first argument, it is suggested that either the variable y or the field s1 be inserted. This is because the types of these two instances are inferred to be compatible with the type of the first parameter to method (i.e., they are String}}s). Similar (but not shown), the second argument will show {{x and i1. This functionality is similar to the parameter guessing proposals available in the Java editor.

You can disable this functionality and instead use the old kind of content assist that simply adds the parameter name to the replacement string. This option is available from Preferences -> Groovy:

Extended outline support for Scripts

When working with scripts, the outline view displays contents in a more Groovy-like way. The run, and main methods are hidden. Instead, script variable declarations are displayed.

The enhanced outline view is part of Groovy-Eclipse and is available for third party plugins to use their own outline extender. For more information, see the feature request here: GRECLIPSE-1029.

Distinguish read access from write access

When rreforming a find references action in the Groovy editor (CTRL-Shift-U on Windows/Linux), read occurrences are now highlighted differently from write occurrences:

Better generics inferencing support

Groovy-Eclipse now recognizes more complex forms of generics to help seed type inferencing. For example, in the following code, Groovy-Eclipse can determine that the second call to "get()" is declared by the WeakReference class and returns a java.lang.Class object:

For more information, see GRECLIPSE-997.


Groovy-Eclipse 2.5.0 includes Groovy 1.7.10 by default. Groovy 1.8.0 can be optionally installed. Groovy-Eclipse is installable on STS 2.6.0, Eclipse 3.6.0, 3.6.1, or 3.6.2. There are builds available targeting Eclipse 3.7 as well. See above for the update sites.

Bug fixes

Over 45 issues have been fixed for this release.

What's next?

The 2.5.1 final release is scheduled for the end of June, around the time that Eclipse 3.7 will be released. We will be working on enhancing our DSLD support and including some standard DSLD files inside of Groovy-Eclipse with the next release.

In this release, we are particularly grateful for Maxim Hamm's work on outline view extensibility (GROOVY-1029).

We appreciate all community support and feedback. If you wish to join the discussion about Groovy-Eclipse then please sign up for the mailing list. For any issues you have (or enhancements you would like to see), please raise them in our issue tracker. If there is an existing bug fix or enhancement that you require are not seeing any movement on, please make some noise on it (and get your friends to do the same). We respond to community feedback, and we can make the most improvements to Groovy-Eclipse when we hear directly from the community. So, please speak up!

  • No labels