Effective Coding with IntelliJ IDEA

This entry is part of the series:
Java User Group Munich (JUGM) Talks @ mgm tp
  • Effective Coding with IntelliJ IDEA

At our recent Java User Group Munich (JUGM) meeting, Vaclav Pech from JetBrains has demonstrated his company’s powerful Java/Groovy/Web IDE IntelliJ IDEA 9 and shared several not-so-obvious gems with us.

Vaclav Pech at the Java User Group Munich (mgm Offices).

We were more than impressed about how elegantly and effective a developer can work with the keyboard only in the IDE (i.e. without the mouse). And learning the key combination is greatly simplified by the IDE, too. For example, while using the mouse, the IDE shows novice users the equivalent keyboard abbreviation that would have led to the same result.

IntelliJ IDEA supports learning the features and keystrokes with the Productivity Guide.

Outstanding Features

In his presentation, Vaclav showed several outstanding features of the IntelliJ IDEA, including:

  • the editor support for a wide range of programming and markup languages,
  • the effortless adaptability of the IDE to new elements of dynamic languages, which is especially interesting for domain-specific languages (DSLs). For example, see Custom Groovy DSL support.

Multi-Language/Markup Refactoring

IntelliJ IDEA supports the developer in a multi-language/markup project to a great extend. We were amazed about the IDE’s multi-language/markup refactoring capabilities (Java, Groovy, JSPs, JavaScript, SQL etc.). For example, when renaming a Java property, IntelliJ IDEA automatically detects the usage in JSP pages and renames at these locations, too. In another demo we were shown how the SQL-Select instructions in Java Strings were synchronized with changes in the SQL DDL scripts. Similar synchronizations work with JPA and Hibernate.