Wednesday, July 4, 2007

Eclipse Europa Review: For User and Developer

For me it is rather hard to accurately review the Eclipse Europa release as it is kinda old news for me. As an Eclipse and Jazz developer, I have been happily absorbing and adapting to the Europa changes and progression for the last year...since the 3.2 release in June 2006. It gets really hard to remember what is new and what is not. As well, I pretty much only deal with the Eclipse project. And hey...how can one little developer know that much about 21 projects and 17 million lines of code!

All that said, I can dredge up the key features and changes that have made my development life as an Eclipse user much more efficient and enjoyable this past year.Working faster and better with the tools I have allows me more time for family and running!

How did we ever live without these:

Quick Access (Ctrl-3) Really how did we live with out this?? This is in the top 5 list for all of our team. If you have not learned how to fast finger this shortcut...what are you waiting for?

Content assist and hyperlinking in the plugin.xml and MANIFEST.MF editors. These features save me enough time to get an extra 10 miles of running in per week! Read and re-read the PDE N&N if you do any plug-in development. Ensure you are making use of all the great PDE enhancements. In my humble opinion, the PDE editor has finally surpassed the Ant editor in slickness :-)

Extract to local variable quick assist: I love anything that results in less typing for me. Bring on more refactorings and quick assists!

Cooool:

Hyperlink stepping: try it while you are debugging; you will like it

Save actions: make the computer do all the work for you. Configurable at the preferences and project level, I never have to worry about an used import or local variable again.

Spell checking: This helps make me appear more intelligent. If only there was a grammar checker!

Toolbar buttons for automatic showing of the console: I really like being able to quickly turn this preference on and off depending on what I am running or debugging.

All the null checking: This is not for my code of course but rather when I am reviewing the code of others :-) The compiler is smart. Let it find my bugs.

The other hat I wear from being an Eclipse user is that of Eclipse developer.I am always looking to improve, refactor and reduce the amount of code I have to create, debug and maintain. As I get older / wiser, I relate more and more to Steve N: the less code the better (my paraphrase). Code reuse is our friend. As the provider of the Eclipse Ant integration, I am always overjoyed when more functionality is provided for "free" via the various Eclipse frameworks and other open source offerings such as Apache Ant.

Improvements for Eclipse developers:

Free stuff from the editor framework:

FileStoreEditorInput: no longer needing an internal reference to JavaFileEditorInput to deal with files external to the workspace. bug.

HTML rendering classes: working with other teams to reduce copied code and just be "friends": bug.

Show tooltip and F2 support: more code deletion with the platform text support of a general solution. Also allowed consolidation of preferences across the many editors that adopted the support: bug.

Space for tabs support: even more code deletion with the move to platform text support. More preference duplication removed: bug.

Other editor implementors / providers should ensure to take advantage of these freebies.

Ant 1.7: faster, leaner and meaner. As well I got some more reuse with the org.apache.tools.ant.Main support for help and projecthelp.

It was really interesting for me how I was broken with the Eclipse Ant integration with no breaking API changes from Ant. The Ant guys simply were more aggressive on cleaning up there data structures (nulling things out). All of a sudden I was getting NullPointerExceptions where they never occurred before. We adapted.And yes, we shipped with a bug with Ant 1.7...but it is already fixed in the next release.

Read and re-read the new and noteworthy from the Platform for any overlooked nuggets. Every Eclipse user is different and requires / needs / likes different things.Also explore and check out any number of the other 20 projects on the release train.

I am a lucky man: married to Trisha
with two amazing kids, Cole and Leah.
We live in Oregon with lots of great road and trail races. We are adding more great races with Reason to Run.
My day job is working at New Relic.