Skip to main content

Plug-in Development Environment

Dialogs, Editors, and Views

Product editor "Dependencies" tab renamed to "Content" The "Dependencies" tab in the product editor was renamed to the more descriptive term "Content". This avoids confusion with the "Dependencies" tab in the MANIFEST.MF editor.

New label for content in the product

Tooltips for options in Tracing dialog In the Tracing tab of Eclipse launch configuration, the options now have tooltips which display more information about that option.

The information gets extracted from comments in the declaring bundle's .options file.
PDE perspective uses Project Explorer The PDE perspective now uses the Project Explorer instead of the Package Explorer view by default.
Warnings for missing build entries for model fragments and the application model If an Eclipse 4 model fragment or application model file is not included in the build.properties file, PDE will issue warnings.

Build warnings

Import and export packages in Plug-in Manifest editor supports prefix wildcard matching by default The import and export package dialog in the Plug-in Manifest editor uses wildcards by default. For example, to add org.eclipse.e4.core.services as package dependency, you can type in services instead of *services.
Plug-in Image Browser Filtering In Plug-in Image Browser view, it is now possible to filter icons by their full path or name.

Use the new ImageFilter field to provide the search criteria (? = any character, * = any string) to find the icons with matching path or name.

Pagination control in Plug-in Image Browser In the Plug-in Image Browser, at the end of the view, there are pagination controls to move to the next page of images.

Product launch prompts for unsaved features In case you have an unsaved feature included in your product configuration file, PDE will prompt you to save it before the launch.

OSGi Declarative Services

Support for OSGi Declarative Services Annotations OSGi Declarative Services provide a powerful mechanism for developing complex, service-oriented applications. With proper tooling, annotations, which were added to Declarative Services in version 1.2, make it easy to generate and maintain the required component descriptor files.

When enabled, PDE automatically generates and updates Declarative Services component descriptor files from appropriately annotated Java source. This is done without requiring any additional builder to be configured in your project.

When you annotate your component implementation classes with @Component, and any reference bind methods with @Reference, PDE will validate your annotations and generate the corresponding component descriptor files. Any errors discovered during validation are highlighted and reported.

In addition, PDE will also maintain the project's MANIFEST.MF and build.properties file -- generated component descriptor files are automatically added to the manifest and included in the build.

To enable this feature, go to Preferences or Project Properties > Plug-in Development > DS Annotations and check Generate descriptors from annotated sources.

DS Annotations Bundle-ActivationPolicy generation The Declarative Service Annotations support can now be configured to generate the bundle header for lazy activation. The Bundle-ActivationPolicy: lazy header is necessary when starting an Eclipse application that uses the Equinox launcher. Otherwise, the bundle that provides the declarative service will not be started automatically and therefore the service won't be available. In a plain OSGi environment, this header is not necessary and might not have any effect. Therefore, it can be configured via preferences whether the header should be generated or not.

Updated OSGi Declarative Services Example The OSGi Declarative Services Example now uses annotations.

Instead of creating a Component Definition file for each component class and adding it to the manifest and build.properties, the wizard creates component classes annotated with the appropriate DS annotations, which are then used by PDE to automatically generate the corresponding component descriptor files.

Wizards

New Plug-in wizard does not create activator by default By default, the new plug-in wizard does not suggest the creation of an activator class anymore. Functionality in activators can in most cases be replaced with other means (e.g. OSGi declarative services), and activators can slow down the startup of an application.
Retirement of the Eclipse 4 project wizard As PDE offers now Eclipse 4 RCP templates, the separate Eclipse 4 project generation wizard has been retired.
Plug-in template with an Eclipse 4 SWT view In the plug-in templates, it is now possible to choose: plug-in with an Eclipse 4 SWT view.

To get this template, create a new plug-in project and answer 'no' to the question: Would you like to create a Rich Client Application?

Then, the 'Plug-in with an Eclipse 4 SWT View' template will be proposed in the list:

The generated plug-in will contain a model fragment with a sample E4 view that:

  • manages the single and the multiple selection using the injection mechanism
  • is added to any E3 compat or pure E4 application thanks to the 'xpath:/' notation
  • is present in the Window > Show view dialog
Plug-in template with an Eclipse 4 Handler In the plug-in templates, it is now possible to choose: plug-in with an Eclipse 4 handler.

To get this template, create a new plug-in project and answer 'no' to the question: Would you like to create a Rich Client Application?

Then, the 'Plug-in with an Eclipse 4 Handler' template will be proposed in the list:

The generated plug-in will contain a model fragment with a sample E4 hello world command that appears:

  • in the 'E4 Handler' main menu
  • in the 'E4 Handler' submenu in any popup menu

API Tools

Multi-version support for API analysis builder The API Analysis Builder now supports API baselines with multi-version bundles. While doing API analysis for a bundle for which multiple versions exist in the baseline, the comparisons are performed with the bundle in the baseline which best matches the development bundle that is being built.

Previous Up Next

Back to the top