JDT Enhancements, Top Eclipse Juno Feature #5

There is less than 1 week to the Eclipse Juno release and I’ve been busy counting down The Top 10 Juno Features that I’m most excited about.    Over the past 10 years Eclipse has been classified as many different things, a tools platform, a Run-time Platform and an ALM enabler.  However, throughout the past decade one thing has remained constant: Eclipse is a state-of-the-art Java Development Environment.  Number 5 on my Juno Top 10 List is the enhancements to the Eclipse Java Development Tools.

In September, the JDT team graduated the Java 7 tool support in Eclipse. This was not part of Indigo since Java 7 was not officially available at that time (although it was provided as a plugin for Indigo).  A number of exciting (and useful) tools were added to the JDT including:

Tool support for the diamond operator:

Screen Shot 2012 06 20 at 4.16.04 PM JDT Enhancements, Top Eclipse Juno Feature #5

Screen Shot 2012 06 20 at 4.17.04 PM JDT Enhancements, Top Eclipse Juno Feature #5

Multi-Catch tool support:

Screen Shot 2012 06 20 at 4.19.50 PM JDT Enhancements, Top Eclipse Juno Feature #5Screen Shot 2012 06 20 at 4.30.28 PM JDT Enhancements, Top Eclipse Juno Feature #5

Support for Java constructs in the evaluation engine (for example, you can switch on a string in the debugger breakpoint conditions):

bp condition JDT Enhancements, Top Eclipse Juno Feature #5

And of course, the Java tools and EJC compiler, understand the try-with-resource syntax, switch on strings and all the other Java 7 features.

Since the Java 7 work was completed last summer, the team didn’t simple rest on their laurels.  Instead, they pushed forward with a whole host of new features for Juno. One of the features that I’m really excited about is the improved static analysis. For example, the JDT can now detect potential resource leaks:

Screen Shot 2012 06 20 at 11.15.40 PM JDT Enhancements, Top Eclipse Juno Feature #5

Screen Shot 2012 06 20 at 11.14.55 PM JDT Enhancements, Top Eclipse Juno Feature #5

Annotation-based null analysis, which allows you to define preconditions about the nullness of an object and the Annotation processor can assist you with potential problems, was also introduced. For example, if I declare that an Object will never be null, the annotation processor will highlight cases when this assertion is not true:

Screen Shot 2012 06 20 at 11.21.45 PM JDT Enhancements, Top Eclipse Juno Feature #5And warnings are available when a switch statement lacks cases:

Screen Shot 2012 06 20 at 11.30.27 PM JDT Enhancements, Top Eclipse Juno Feature #5With all these changes, the JDT continues to lead the way for quality Java tooling.  This work couldn’t be done with without a dedicated team, and lucky for us, that’s what we have.  Lead by Dani Megert, Markus Keller and Srikanth Sankaran the team of Michael Rennie, Olivier Thomann, Deepak Azad, Ayushman Jain, Jayaprakash Arthanareeswaran, Stephan Herrmann, and Satyam Kandula are nothing short of rock stars!  Thank-you so much for 10 great years of excellent Java tools.

For more Eclipse Tips and Tricks (and the annual Top 10 List), why not follow me on twitter:


One Response to “JDT Enhancements, Top Eclipse Juno Feature #5”

  1. [...] runtimes, and tools to help build both those runtimes and applications.  However, number 5 on my Eclipse Juno Top 10 List — Eclipse Orion — threw a wrench into my [...]

One response so far

Written by . Published in Categories: EclipseSource News, Planet Eclipse

Author:
Published:
Jun 21st, 2012
Follow:

Twitter LinkedIn Google+ GitHub