# Plug-in Development Environment Overview

The Plug-in Development Environment (PDE) is a tool that is designed to assist developers in the creation, development, testing, debugging, and deployment of Eclipse plug-ins. The mandate of PDE also encompasses tooling for the development of fragments, features, and update sites.

PDE is part of the Eclipse SDK and not a separately launched tool. In line with the general Eclipse platform philosophy, PDE provides a wide variety of platform contributions (e.g. views, editors, wizards, launchers, etc.) that blend transparently with the rest of the Eclipse workbench, and assist the developer in every stage of plug-in development while working inside the Eclipse workbench.

## Concepts

- Host vs. runtime
  When you start up the workbench, you will use it to work on your projects that define the plug-ins you are building. The workbench instance that you are running as you develop your plug-in using the PDE and other tools is the host instance. The features available in this instance will come exclusively from the plug-ins that are installed with your application. Once you are happy with your plug-in and want to test it, you can launch another workbench instance, the runtime instance. This instance will contain the same plug-ins as the host instance, but will also have the plug-ins you were working on in the host instance. PDE launcher will take care of merging your plug-ins with the host plug-ins and creating the run-time instance.
- External vs. workspace plug-ins
  When developing Eclipse plug-ins, the set of plug-ins that you will be used to run the runtime workbench come from two distinct places: the workspace of the host instance and the target platform. Although, to PDE, all plug-ins are the same no matter where they come from, there are a few differences that quickly become evident to users:
  - Workspace plug-ins are those plug-ins under development in your host workbench. They are under your control and can be added, deleted and modified by the user.
  - External plug-ins are plug-ins that arrived with the basic platform installation and are simply referenced from their original location without modification. You can reference them, browse them, view their source and debug them, but they are read-only.

The Plug-ins view, which is part of the PDE perspective, will show the combined list of workspace and external plug-ins. In it, you will be able to browse the directory structure of external plug-ins, open files, etc.

Preparing the workbench
PDE concepts

Creating new plug-in project
Editing the manifest
Running
Deploying
Working with features
Working with update sites