Tutorial

6 Eclipse Extensions—Making the Connections

Sunday, 26 October – 8:30-12:00 Morning

Kai-Uwe Maetzel, IBM Research, OTI Labs, kai-uwe_maetzel@ch.ibm.com

Eclipse (http://www.eclipse.org) is an open-source platform for building tools for developers. The platform was designed from the ground-up with extensibility in mind. A scalable plug-in mechanism and a rich set of APIs enables developers to develop and explore new tools quickly, without having to start from scratch.

This tutorial illustrates the full plug-in development cycle by way of an example. You'll explore the Eclipse architecture and become familiar with the basic plug-in mechanism. With this knowledge, you'll write and debug your first plug-in using Eclipse's Plug-in and Java Development Environments. You'll also add extension points to your plug-in to enable others to extend it. You will then package your extensible plug-in as a Feature and publish it with the built-in Eclipse Update Mechanism. Finally, you'll set up and manage an Eclipse Update Site, a place for other Eclipse users to explore new features as well as finding upgrades.

During all these steps, you will learn the underlying Eclipse concepts and design ideas. You'll learn the rules you need to know to make your plug-ins good Eclipse citizens. In addition, you will receive many interesting insights on design challenges in large scale plug-in architectures.

Tutorial participants are invited to bring their laptops and deepen their understanding by implementing practical exercises.

Attendee background

This tutorial is targeted toward developers who are interested in writing their own Eclipse plug-in tools. Developers with an interest in large-scale plug-in architectures will also benefit from the insights into Eclipse.

Prerequisites: Experience with Java™ development is required.

Format

Lecture and exercises at the computer

Presenter

Kai is one of the original committers on the eclipse.org project. He is a member of the Eclipse architecture team and component lead of the Eclipse Text Infrastructure and Editor Components. He is also a member of the development team for the Eclipse Java Development Environment.