IntelliJ 7's new Groovy and Ruby code editors provide advanced coding assistance, smart completion, code quality maintenance with code inspections, quick-fixes, and refactorings. A mixed-language compiler makes it easy to work with multiple languages within a project.
JetBrains' IntelliJ IDE has for some time now supported multiple languages. With the recently-released Groovy and Ruby plug-ins, however, support for these two non-Java languages has reached a level close to IntelliJ's legendary Java support.
While Java represents a strongly- and statically-typed language, Groovy and Ruby code editors cannot rely on a similar amount and quality of type information about the code. Instead, IntelliJ uses type inference to guess the types of variables and method return values. Such inference works quite well while editing code, and even in the course of code refactoring.
Partly as a result of type inference, IntelliJ's new Groovy editor provides a series of Groovy-aware refactorings, such as moving and renaming methods and variables, and provides import optimization as well. In addition, code inspections are provided for Groovy code, with several "quick-fixes" that suggest, and quickly fix, potential coding defects.
The new Groovy plug-in also includes a dedicated Grails SDK, and provides generators for creating most Grails artifacts. There is also a feature that automatically generates an entity-relation (ER) diagram for Groovy domain objects.
The Ruby plug-in provides identical features, with the difference that it supports Ruby on Rails development. The Ruby plug-in also comes with a wizard that automatically creates and helps run unit tests for Ruby code.
Finally, the new Ruby and Groovy plugins make it easy to work with multiple languages in the same project, and even in the same file. The editor, for instance, can resolve Groovy, Ruby and Java variables correctly.
What do you think of IntelliJ's support for Groovy and Ruby?