Saturday, March 3, 2007

At the Corner of Project and Refactor

I thought I knew Eclipse, the popular Java IDE, pretty well -- until I recently attended a training class.

I now realize that IDEs, especially those with plugins, are so large and sophisticated that they are veritable cities on our desktops. Some comparisons:

Options. For a given interest (e.g. books, musical instruments, Thai restaurants), large cities provide a million outlets. You might think that you know your city pretty well, but invariably when 2 people find a common interest, they share cool places.

Hey, you like Thai right -- have you been to Thai Kitchen, over near the....
In the class, I discovered the same is true for IDEs. There are a million shortcuts, plugins, and time-savers. We think we know them all, but we don't. I learned this week that when 2 Java geeks start to talk IDEs:
A: Hey, do you know how to change the syntax colour for a compiler warning?

B: Sure, just go down to Preferences at the Corner of Project and Refactor.
Tip #1: Whether it be a class, a Java SIG, or a news group -- talk about your IDE with other people! Find your "peeps" and learn. You'll be amazed.

Eyes Wide Shut.
All too often we go about our daily lives and never look at anything. We don't see. I took a community college class in world religions, where the prof rattled off dozens of churches, temples, monasteries, etc. I was stunned at how many of them were on popular streets in St Louis. I had passed them many times but never paid attention.

It is the same way with Eclipse. There are so many buttons and menus that we tend to focus on the ones we know. And yet there might be a great, useful button on that toolbar that is just waiting to be found... Just like that outstanding Sushi bar downtown.

Tip #2: Take time to explore your IDE. Treat it like a city and take a tour. Wander off the beaten path of your daily routine.

ps. Here's a couple of Eclipse tips, on me... (a) Use Ctl-Shft-L in any perspective to get a list of shortcuts for that perspective (b) Ctl-Shft-T is a fast way to open a class and see its hierarchy


rhyolight said...

Eclipse is huge. I've never really gotten to know any of the IDEs that I've used. So I'm really lgad that I took this class.

emvee said...

Some great points here, MEaster!

Eclipse does have lots of stuff, and lots of ways to do the same thing. One of the things I have learned during my experience as a developer (actually something you mentored me on years ago) is that a good keyboard shortcut, while seemingly trivial at the surface, is usually priceless when you find yourself using it more than, say, twice a day. Eclipse has no shortage of them, as you found out in your class.

I also agree that talking to peers about the IDE is a great way to learn new stuff. Don’t be afraid to open the dialog. You are certainly going to learn something, and you are certainly going to teach something. When doing team development, I often find that one of us, while observing the other one pilot the IDE, will ask, “Hey, how did you do that?”

I am sure your class taught you tons. But when you are ready for some more, I have a challenge for you. This harkens back to one of your other blog entries (Word to the Wise). Try creating a plugin for Eclipse. Or take it one step further and develop an RCP application. One bit of advice before you start reading the online tutorials though: Have a project in mind. The examples range from “Hello world” to sophisticated, so if you have an idea on how to expand the IDE or a simple desktop app you want to implement, start the tutorials with that end goal in mind. This will take you away from the cool things Eclipse can do when you use it as a development tool, but will open new doors to what it can do a platform in general.

Good luck and happy Eclipsing!

M Easter said...

re: create a plugin.

Great idea! I have thought about it but haven't had a chance to even consider it yet....