Eclipse (Helios) rocks and a few critiques
Friday, July 30th, 2010 - By Vineet Sinha
Helios has been out for over a month – and we have been using it. Yes, we are a little biased, but when you are working with and leading teams of 10+ developers you need to be practical. There are a number of things that Eclipse does really well, but there are a few things that we would like to see better.
One thing worth mentioning is that the Eclipse release happened on time again. While they have done this consistently since 2003, it does get harder when you have millions of users using the tool day-to-day.
I use vi for most of my text editing needs – it is my default editor for pretty much everything, except Java. Eclipse (and most modern IDE’s) have done alot to make the lives of developers easier and when there are new releases it is easy to forget some of these conveniences. From finding compilation errors when you save, to pointing potential bugs as you write them – noticing errors sooner helps in implementing features. Content assist further shows you the various legal coding options to just write code faster. Beyond these, shortcuts to easily find classes or launch the application being developed help in focusing on what we care about. And then there is support for easily switching to the various views and editor tabs or the various organizations fixed by the perspectives.
The cool new stuff
There are quite a few things which stand out in Helios. One of my favorites is the MarketPlace. Searching and adding new plugins for Eclipse have always been a challenge. The Eclipse Marketplace makes this much easier – it allows you to not only search a central location of all Eclipse plugins, but also allows you to find the most recent and the most popular plugins.
The availability of annotations has helped remove configuration files from Java apps and resulted in the rise of the use of annotations. Eclipse now supports showing annotations with the the JavaDoc hovers and makes it easier to understand details of a method. Beyond annotations, it also supports showing the @value fields inlined when included in JavaDoc.
At times when looking into the call hierarchy view its gets really frustrating to find the caller you need. Helios lets you go through each caller one by one, and provides you a way to remove all those unnecessary calls from the call hierarchy view so that you can focus on those which concern you. Related to this, previously the extraction of type hierarchy information would cause the Eclipse to freeze in large projects. The recent version extracts type hierarchies in background leaving you to continue your work.
Another cool feature in this version is the TaskItem Overlay. It allows you to customize the item shown in the task bar to either show you a particular text, image, or even a progress-bar. Beyond such useful information when switching applications, developers can also a menu with the item which shows when you click on it.
Eclipse debug views are one of the more powerful views and Helios now provides much better breakpoint detail by displaying all the properties in a single pane. This support has actually been available previously but was hidden behind a context menu and many developers often do not even realize their existence. This new pane makes the features more easily discoverable and helps in reducing the time in looking for needed information on the fly.
So yeah, Eclipse rocks – but at the same time I am often wishing for more. The core reason is that Eclipse has a lot of features that it just feels monolithic and the interface feels complicated. While evangelizing the platform I have had way too many ‘what does X do’ and ‘in many cases how can I remove X’. With Eclipse’s plugin strength it will be great to see a very simple single download to start things off and a menu to easily add (or enable) the features that I want. The Eclipse marketplace is a great start – but we need to split up Eclipse and add it the various components as features into the marketplace. If needed we can even add another tab for these basic features. Without these, Eclipse will feel heavyweight, and we should not be surprised to hear more of the ‘from your demo it feels like Eclipse is much faster than I thought’.