Wednesday, April 29, 2009

What the Google Plugin for Eclipse can do for you

I don't know what I'd do without Eclipse. Its very powerful, completely open source and helps me be extremely productive so I can focus most of my efforts on actually writing my app. Eclipse effortlessly and tirelessly refactors my code till the wee hours of the night. It will inline code fragments, create local variables, extract methods/classes/interfaces, change method signatures, rename identifiers and much, much more. Each of these is just a keyboard shortcut away.

One of best features of Eclipse is its open plugin architecture allowing other developers to write new functionality into the platform which works seamlessly with everything else. In addition to my usual favorites Subclipse, Findbugs and Checkstyle, I of course have converted all my GWT and Google App Engine projects to use the Google Plugin for Eclipse.

The Google Plugin for Eclipse downloads and configures both GWT and App Engine SDKs for you, adds a wizard to create new projects and provides great GWT compiler configuration dialogs. Then there's easy launching of GWT Hosted Mode and the App Engine local development server and even JSNI syntax highlighting and formatting.

I enjoy regularly discovering new functionality in Eclipse. My favorite short-cut key is CTRL/META-3. You'll have to try it (Eclipse 3.4 and above) and tell me if you end up using it a lot. It's also fun to discover new Quick Fixes (CTRL/META-1) and refactoring capabilities (highlight a relevant piece of code and right/META-click to learn the shortcuts).

I just uncovered a little gem in the Google Plugin for Eclipse. I was creating a JavaScript Overlay Type when I accidentally hit CTRL/META-SPACE (=code completion). Eclipse offered to write the JSNI for me. How cool is that?



Here's another neat feature of the plugin. Right/META-click on the missing jar warnings and have the plugin fix the problem for you.


Of course your can right/META-click on your project on a specific *.gwt.xml file in your project to launch your app.



If you've uncovered a feature worth talking about, please leave a comment.
Post a Comment