PDE takes advantage of the project structure in the platform. When you use PDE, you organize your work into projects, folders, and files. PDE looks into the projects in your workspace and pays special attention to those that have plug-in or fragment manifest files as their immediate children. If a project has a plug-in manifest, PDE considers it a plug-in project. In addition, PDE will associate a special PDE nature with these projects to be able to attach special PDE builders. (See Project natures for a description of the platform project nature facility).
We know that the platform is based on the concept of plug-ins that have a clearly defined structure and specification. The goal of PDE is to ensure that you follow the rules when creating new plug-ins so that they are correctly incorporated by the platform.
PDE manages plug-ins inside projects. Each project represents one plug-in and holds folders and files that define the plug-in and the ways it will interact with the platform. These plug-ins will be in your workspace and will show up in the resource navigator and other views that show workspace resources (such as Java Package Explorer).
One of the most important concepts in PDE to understand is the concept of host and run-time workbench instances. 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 run-time 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.
Since the run-time workbench instance will represent a collection of features provided by plug-ins from two different places (your current workspace and the original host installation), PDE recognizes these plug-ins as two different "species."
External and workspace plug-ins are treated differently by PDE because of their location. For example, opening the plug-in manifest of a workspace plug-in will launch an editor on that manifest file in the workspace. The same operation for an external plug-in will launch an editor on an external URL that references the plug-in's manifest file in the host install location.
These differences are fairly transparent to PDE users, but should be understood.