Self-hosting with multiple versions of the same plug-in |
PDE now supports self-hosting scenarios that will allow you to develop
and run with multiple versions of the same plug-in in the workspace or
target platform.
Development scenarios where this new support is particularly useful include:
|
PDE editors facelift |
All PDE form-based editors have acquired a new
look and feel. Visual enhancements include the following:
In addition, all PDE form editor pages comply with the latest UI recommendations for margins and spacing. |
Field assist in Forms |
All fields denoting classes in the plug-in manifest
editor now support a field assist feature to help you complete the name
of a partially entered class name.
This feature works in a similar way to the content assist in the Java editor, and supports package names and CamelCase. |
Field validation in plug-in and product editors |
PDE now validates plug-in and product editor
form fields while input is being entered.
During validation, form fields are decorated according to problem severity and provide status messages via tool tips. All status messages are qualified with a field label and rolled up into the form title header where they are available on mouse over. As with source page validation, the problem severity used by field validation is configurable on the Plug-in Development > Compilers preference page. |
Content assist in plugin.xml |
Content assist (Ctrl+Space) is now available on the plugin.xml source page to give you context-sensitive information as you create extensions and extension points. Features include:
Note that the content assist can be activated without the need for a partial string. PDE uses extension point schemas to determine which elements and attributes are suitable for the current context.
|
Content assist in MANIFEST.MF |
Content assist (Ctrl+Space)
is now available on the MANIFEST.MF source page, including completion proposals
for:
|
Quick outline in plug-in editor source pages |
When editing a source in the plug-in manifest editor, pressing Ctrl+O or selecting Navigate > Quick Outline from the top level menu shows you a quick outline. The quick outline has many of the sizing and filtering options that are available in the Java editor's quick outline. |
Hyperlinking and open declarations |
Hyperlinking (i.e. the use of Ctrl+Left
to navigate from one editor to another) is now supported on the plug-in
manifest editor source page. The usage of the F3 key to
open declarations is also supported and provides the same functionality
as hyperlinking.
Hovering over attribute values on the plugin.xml page and pressing Ctrl+Left can be used to
Hyperlinking provides additional functionality on the MANIFEST.MF source page including:
|
Hover support in plug-in manifest editors |
The source pages in the plug-in manifest editors now provide a number of useful hovers. Hovering over an attribute in the plugin.xml shows the schema description for that attribute, while hovering over a manifest header shows the Javadoc for that header. The hover support has also improved on the Extensions page of the plug-in manifest editor. Hovering over a translated attribute now shows the actual substituted value for that attribute. |
Code folding |
Folding is now supported on the plugin.xml and
MANIFEST.MF source pages of the plug-in manifest editor to make large files
more manageable.
The option to turn folding on and off can be found on the Plug-in Development > Editors preference page. |
Code formatting |
Line wrapping introduced by some packaging tools make the plug-in MANIFEST.MF file hard to read. PDE now provides a Format action in the context menu of the MANIFEST.MF source page to format the contents of the file into something more human-readable. |
Stronger plugin.xml validation |
PDE now flags warnings when the number of elements
in an extension's XML markup is at odds with the arity specified in the
extension point schema.
The severity for this type of problem is set to Warning by default, and can be customized via the Plug-in Development > Compilers > Plug-ins > Illegal elements preference. |
Flag for non-exported packages in the MANIFEST.MF file |
PDE now provides a flag on the MANIFEST.MF file when the list of exported packages of the plug-in is incomplete. This feature is a useful reminder when you wish to expose all your plug-in code to downstream clients. By default, the severity of this flag is set to IGNORE, but it can be raised to WARNING or ERROR at a global level via the Plug-in Development > Compilers > Plug-ins > Non-exported Packages preference. It can also be set on a per-project basis on the Plug-in Development > Compilers property page of a plug-in project. |
PDE problem categories |
Problems in plug-in manifest files can now be
categorized, allowing you to easily spot fatal issues such as unsatisfied
constraints which may prevent your plug-in from compiling and running properly.
You can turn this feature on via Group by > PDE Problem Type from the drop down menu of the Problems view.
|
State of the plug-ins |
The Plug-in Dependencies view, available under Window > Show View > Other > PDE > Plug-in Dependencies, has been enhanced to show you the state of every plug-in you have in your development environment. For each plug-in, you get to see all its dependencies and the plug-ins supplying each of its imported packages. The view now also serves as a valuable diagnostic tool that shows you the unsatisfied constraints that may prevent your plug-in from running and which may cause a chain reaction affecting other plug-ins. New filtering capabilities include:
|
Plug-in refactoring |
PDE now supports plug-in refactoring by providing
the ability to rename a plug-in ID and update all references to it in downstream
plug-ins.
The Rename function is available in the context menu of the Plug-ins view, the Plug-in Dependencies view and the MANIFEST.MF source page. Plug-in refactoring may also take place as part of the regular project renaming action in the Package Explorer view (Refactor > Rename from the context menu) if the project name matches the plug-in ID. |
Plug-in manifest files participate in refactorings |
When you rename or move files and folders in your plug-in project, PDE will now update references to these resources in the plugin.xml and build.properties files. |
Cheat sheet authoring |
Cheat sheets guide users through a series of steps to achieve an overall task. PDE now provides a cheat sheet editor to let you compose cheat sheets, complete with embedded workbench commands and links to the Help documentation. The editor also provides a Preview function that allows you to preview your work on the fly directly in the Cheat Sheets view. You can create a cheat sheet via File > New > Other... > User Assistance > Cheat Sheets. |
Command composer |
Cheat sheets support the embedding of workbench commands allowing you to execute commands such as opening a particular perspective or a wizard in a script-like fashion. The Command Composer dialog shows you a categorized list of available commands and their parameters, making it easy to compose, test, serialize, and embed commands into your cheat sheet. The Command Composer can be invoked from the Command section of the cheat sheet editor. |
Bundling JREs in your RCP product |
The Product editor now gives you the option to bundle a JRE with your exported Eclipse product. JREs can be specified on a per-platform basis. The JRE will be bundled in a jre/ subdirectory inside the product, and it will be the default JRE used when the product runs. This feature is useful if you want your product with a specific JRE or if the end user of your product does not have a JRE installed on their system. |
Custom splash screen templates |
PDE now provides three templates for creating
custom splash screens, complete with code, images and XML markup:
This feature is available in the Templates section on the Splash page of the product configuration editor. Splash screen templates are also available in the New Extension wizard
when generating a new |
Target platform provisioning |
PDE now allows the dynamic addition of plug-in locations to the target platform by simply pressing Add on the Plug-in Development > Target Platform preference page. PDE provides two provisioners:
Additional types of provisioners can be declared via the |
Extensible launch shortcuts |
PDE now provides the org.eclipse.pde.ui.launchShortcuts extension
point to enable custom launch shortcuts and additional launch modes (e.g.
profile) to be integrated into the Testing section of
the plug-in manifest editor.
|
Launching OSGi frameworks |
PDE now provides the If more than one OSGi framework is installed, the default can be set on the Plug-in Development > OSGi Frameworks preference page. Testing against different OSGi frameworks is as easy as selecting that framework in the OSGi Framework launch configuration. Note that PDE only provides the Equinox OSGi framework extension. |
Hello, World - 3.3 edition |
In Eclipse 3.3, the Platform introduced a new way to contribute menu and toolbar items to the workbench. See this new support in action by selecting the Hello, World Command template in the New Plug-in Project wizard, available under File > New > Project... > Plug-in Development > Plug-in Project. |
OSGi Services Templates |
The New Plug-in Project wizard, available under File > New > Project... > Plug-in Development > Plug-in Project, provides new templates demonstrating the usage and implementation of programmatic OSGi services. The templates are available when the option to target an OSGi framework is selected on the first page of the wizard. |
Analyze dependencies for JAR archives |
When creating a plug-in from existing JAR archives (File > New > Project... > Plug-in
Development > Plug-in from existing JAR archives), PDE now computes
the dependencies required to run the code in the archive.
Plug-ins targeted to run with an OSGi framework will have their dependencies specified with Import-Package statements, while plug-ins targeted to run with Eclipse will have theirs specified with Require-Bundle statements. |
Uses directive calculation |
PDE is now able to calculate the OSGi uses directive
for exported packages.
The uses directive is important because it models inter-package dependencies to ensure that consistent class spaces are calculated for each bundle. This helps prevent ClassCastExceptions when multiple versions of a package or bundle are installed in the Framework. The calculation can be initiated from the Organize Manifests wizard (PDE Tools > Organize Manifests... from the context menu of plug-in projects) or the Calculate Uses button in the Exported Packages section on the Runtime page of the plug-in manifest editor. |
Multi-version support for build contributions |
Support has been added to allow for multiple versions of the same bundle to appear in a client's map file contribution to the build and therefore retrieved to be part of the same build. Clients wishing to take advantage of this functionality should specify a version in the map file as well as in the referencing feature. |
GET fetch support |
A new GET fetch factory was added to PDE Build which allows clients to specify URLs in their map files contributions to a build. The factory generates a call to the Ant Get task, and clients are able to specify whether or not the fetched file should be unzipped, which is especially useful for clients who are retrieving build input from an HTTP server. |
platform.xml handling |
In order to handle linked directories and extension locations while building, PDE Build now constructs its state by consulting the platform.xml file contained in the base location, if available. |
Previous Next