Eclipse, the most popular development platform for Java developers, is about to release version 3.3, dubbed Europa. I've been an avid Eclipse user for more than 4 years and I like seeing the platform evolve. Eclipse today is much more than it was 4 years ago. The RCP is a real alternative for developing rich cross-platform desktop applications. Many plug-ins and tools are offered which allow development in all sort of languages and environments. However, I want to go back to where it all began and take another look at the Eclipse Java Development Tools (JDT).
There are many new features in JDT for Europa. I want to focus on some features which I found especially useful and convenient. This is not a thorough review, but rather some highlights which caught my attention.
Creating a new project
True, it's about the same wizard as in the previous version. However, the wizard creates a src and bin directories for your sources and compiled binaries respectively. This is unlike previous versions where you have to specify this yourself. This is a minor change, but I think it makes a difference. It shows that the people developing JDT care about usability and ease of use. It's a very minor feature, yet, it was important to include it.
There are several new refactoring features. I found myself using more and more of these features, which really make life easy. Traditional developers are used to doing things themselves, but the platform can do so much for you now, it's just a shame not to use it. Some example:
- Renaming local variables. I love it. Great feature. The UI is much improved, you see the change as you type it. Really cool feature.
- Introducing of parameter object - allows encapsulating method parameters in a single value object. Creates the objects and makes all necessary changes. Again, very useful for those methods which become bloated with too many arguments.
In general, I think giving a second look to the growing refactoring menu is a must. It can save valuable time.
Clean it up
The all new "code cleanup" feature was really called for. It allows fixing many code problems and "beautifing" your code on the fly. You can invoke it upon save or manually from the source menu. I turned it on upon save. This keeps my code aligned at all times. It has some great features like adding "final" to all parameters/variables (something PMD always nags about) and organizing imports (which many people forget). By default, the feature of "clean up" on save is turned off. Turn it on under the preferences->Java->Editor->Save Actions. I have a feelling we haven't heard the last of this feature.
Allows watching the byte-code when opening a compiled file with no attached source. Actually, being a human being, I find that cryptic and useless. I preferred the previous form of just looking at the interface, and, unfortunately, I didn't find any way to revert. Of course, one may install a decompiler plug-in, I just wish it was simply bundled with Eclipse.
Opening Multiple Files from "Open Type..."
The "Open Type" feature is one of the best features of JDT. I use it constantly. One annoying thing was the inability to select multiple classes to open. Well, no longer. Again, great usability enhancement.
There are many other great features including many content assists and quick fixes. I started working with the new JDT and all these new features immediately feel natural, like they were there all along. The JDT is evolving, but it is still usable and great to work with.
Bottom line: this great tool just got better.