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 10 Next »

We have just released Groovy-Eclipse 2.0.2. This release includes a number of exciting new features, Groovy 1.7.3, and fixes for over 80 jira issues. For this release, we have two streams available: an Eclipse 3.5 (Galileo) stream and an Eclipse 3.6 (Helios) stream. To install 2.0.2, you can add one of the following release URLs to your Eclipse update manager:

Groovy-Eclipse update site for Eclipse 3.5


Groovy-Eclipse update site for Eclipse 3.6


Refactoring support

For this release, we have done some work on refactoring. In the past, there was a separate Groovy Refactoring menu, which was the only place Groovy refactorings could be invoked from. Now, we have integrated the refactorings into the JDT refactoring support. Now, Groovy refactorings can be invoked using the same keyboard commands and menu items as their Java counterparts.

Rename Refactoring

Although originally introduced in the 2.0.1 version, rename refactoring is now available from the context menu:


the menu bar:


or keyboard commands (e.g., Alt-CMD-R on Macos).

Extract Local Variable Refactoring

The extract local variable refactoring allows programmers to select an expression and convert it into a local variable:

  1. IMG: initial code with context menu showing
  2. You can choose to also replace all occurrences of the expression by selecting the proper check box:
    IMG: wizard showing with extracted name
  3. IMG: preview page
  4. IMG: results

Extract Constant Refactoring

Extract constant expression allows a programmer to select a static expression, and pull it out as a constant in the current class. This refactoring is available from the refactoring context menu:


Similar to extract local variable, this refactoring supports replacing all occurrences of the given expression:


Extract Method Refactoring

Extract method refactoring was available in version 2.0.0 and earlier, but was removed for 2.0.1 because it depended on deprecated internal APIs that had been removed. For 2.0.2, we have reimplemented extract the method refactoring and linked it to the standard Java method refactoring in the editor:

IMG: selection and context menu

This refactoring supports reordering and renaming of the parameters of the extracted method:

IMG: show wizard

There are some limitations to this refactoring:

  • Only complete statements or groups of complete statements can be refactored.
  • Multiple return values are not supported.

Expand and contract selection

would be nice to have a video here

Code Formatting and Indentation

Quite a bit of work was done for this release on formatter related issues. The main focus has been on fixing issues that directly affect a user's experience while they are working with the editor doing day-to-day work: typing, copying and pasting. While typing, copying and pasting the Groovy editor performs a lot of "smart" editing transformations behind the scenes. Unfortunately, most of these features in the previous implementation where inherited from the Java editor. These implementations worked to some degree, but tended to be quite unreliable because of differences between the Java and Groovy syntax. In this release we are providing a brand new groovy-specific implementations for three "smart editor" features:

  • smart paste: attempt to preserve relative indentation of code pasted into a Groovy editor.
  • smart newline: try to put the cursor in a sensible place after the user presses newline.
  • smart tab: correct the indentation of the current line when pressing tab at start of a line.

Like their Java counterparts, these implementation relay on heuristics rather than a full parser, so they should work even when the document in the editor is not syntactically correct. These implementations are brand new and we are looking forward to getting your feedback on how to make them work better and polish them up.

Besides these "on-line" algorithms that get invoked while typing and pasting. The Groovy editor also provides an "of-line" formatter that can be invoked explicitly by pressing CTRL-I or CTRL-SHIFT-F. Numerous bugfixes and small improvements have been made to the of-line Groovy formatter and indentor as well.

Better AST Transform support

Disabling AST Transforms in editor

(come up with a better way to describe this)

Reconciling of common AST transforms

(how much working already?)

What's next?

You can find more details on the Groovy-Eclipse Roadmap, where you can comment on proposed features and see our release schedule. More specifically, we are scheduled to release Groovy-Eclipse 2.1.0 in mid-September.

We appreciate all the community support and feedback we have had through the version 2.0.2 development cycle. 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'd like to see), please raise them in our issue tracker.

  • No labels