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.

Share

Leave a Reply

*

One Response to “Effective Coding with IntelliJ IDEA”

  1. I enjoy working with IDEA in my projects. First i had big doubts switching from Eclipse & NetBeans to IDEA, but in the current customer project i was forced to use it. The support for GWT & Hibernate is great, especially the Refactoring which is the best i have ever seen.
    A big point is the integration of TeamCity which can improve your code quality using the “remote run”-feature for pre-commitment of your code.