Eclipse Plugin Development TUTORIAL

Eclipse Plugin Development Tutorial website to teach you how
to develop eclipse plugins using simple examples to a complex
eclipse rcp over time.This chapter will give you a detailed insight into Eclipse Architecture
and we will develop a simple but fully functional eclipse plug-in so as
to give you a quick start with eclipse plug-in development.

Overview

Eclipse isn’t a huge single java program, but rather a small program
which provides the functionality of typical loader called plug-in
loader. Eclipse (plug-in loader) is surrounded by hundreds and thousands
of plug-ins. Plug-in is nothing but another java program which extends
the functionality of Eclipse in some way. Each eclipse plug-in can
either consume services provided by other plug-in or can extend its
functionality to be consumed by other plug-ins. These plug-in are
dynamically loaded by eclipse at run time on demand basis.

An Open Platform

Eclipse is an open platform. It is designed to be easily and infinitely
extensible by third parties. At the core is the eclipse SDK, we can
build various products/tools around this SDK. These products or tools
can further be extended by other products/tools and so on. For example,
we can extend simple text editor to create xml editor. Eclipse
architecture is truly amazing when it comes to extensibility. This
extensibility is achieved by creating these products/tools in form of
plug-ins.

Figure 1-1

Inside the Eclipse SDK

Figure 1-2

RCP: On the bottom is RCP which provides the architecture and
framework to build any rich client application.

IDE: It is a tools platform and a rich client application itself.
We can build various form of tooling by using IDE for example Database
tooling.

JDT: It is a complete java IDE and a platform in itself.

PDE: It provides all tools necessary to develop plug-ins and RCP
applications. This is what we will concentrate on the course of this
tutorial.

Plug-ins everywhere

All the layers in eclipse SDK are made up of plug-ins. If you see all
the way, you will notice that everything is a plug-in in eclipse sdk.

Figure 1-3

Plug-in Architecture

A plugin is a small unit of Eclipse Platform that can be developed
separately. It must be noted that all of the functionality of eclipse is
located in different plugins (except for the kernel)

A plug-in can be delivered as a jar file. A plug-in is self-contained
bundle in a sense that it contains the code and resources that it needs
to run for ex: code, image files, resource bundles etc. A plug-in is
self describing - when I say it is self describing it means that it
describes who it is and what it contributes to the world. It also
declares what it requires from the world.