| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta name="copyright" content="Copyright (c) Eclipse contributors and others 2016. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/> |
| <meta http-equiv="Content-Language" content="en-us"/> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
| <link rel="STYLESHEET" href="news.css" type="text/css"/> |
| <style type="text/css"> |
| body {max-width: 900px;} |
| table.news col.title {width: 30%;} |
| /*img {max-width: 520px;}*/ |
| table.news {table-layout: fixed; border-collapse: collapse; width: 100%;} |
| table.news td {border-top: solid thin black; padding: 10px; overflow: visible;} |
| table.news tr {vertical-align: top;} |
| table.news tr td.section {font-size: 20px; font-weight: bold;} |
| table.news tr td.title {vertical-align: top; font-weight: bold;} |
| table.news tr td.content {vertical-align: top;} |
| ul {padding-left: 13px;} |
| </style> |
| <title>Eclipse Project Oxygen - New and Noteworthy</title> |
| </head> |
| |
| <body> |
| <h2>Plug-in Development Environment</h2> |
| <ul> |
| <li><a href="#dialogs-editors-views">Dialogs, Editors, and Views</a></li> |
| <li><a href="#declarative-services">OSGi Declarative Services</a></li> |
| <li><a href="#wizards">Wizards</a></li> |
| <li><a href="#APITools">API Tools</a></li> |
| </ul> |
| |
| <table class="news"> |
| <colgroup> |
| <col class="title" /> |
| <col /> |
| </colgroup> |
| <tbody> |
| |
| <!-- ******************** Dialogs, Editors, and Views ********************** --> |
| <tr> |
| <td id="dialogs-editors-views" class="section" colspan="2"><h2>Dialogs, Editors, and Views</h2></td> |
| </tr> |
| |
| <tr id="layout-spy"> |
| <td class="title">New Layout Spy Tool</td> |
| <td class="content"> |
| PDE has added a new tool for debugging SWT layouts. To activate it, use the |
| shortcut <b>Ctrl+Alt+Shift+F9</b> from any window. |
| <p>Usage:</p> |
| <ul> |
| <li>Click <b>Select Control</b> then click the control you want to inspect</li> |
| <li>Enable <b>Show Overlay</b> and navigate the widget hierarchy until you find a |
| control whose boundary is correct (the red rectangle) and whose child's boundary |
| is incorrect (the yellow rectangle).</li> |
| <li>Look at the results of computeSize. If the result of computeSize is correct, |
| the problem is in the parent layout or its attributes. Otherwise the problem |
| is in the child widget.</li> |
| </ul> |
| <p> |
| <img src="images/layout-spy.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="nested-categories-support"> |
| <td class="title">Support for Nested categories</td> |
| <td class="content"> |
| You can now organize features into hierarchies by using the nested categories support in the <b>Category Definition</b> editor. |
| <p> |
| The created definition can be used as input for the <b>Categorize repository</b> parameter in the <b>Options</b> tab of <b>File > Export... > Deployable features</b> wizard. |
| They are also visible in the <b>Install</b> dialog. |
| </p> |
| <p> |
| <img src="images/pde-support-for-nested-categories.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="manage-versions-for-included-features"> |
| <td class="title">Manage versions for included features</td> |
| <td class="content"> |
| The <b>PDE Feature editor</b> now allows you to manage versions for included features (previously this was possible for included plug-ins only). |
| In the <b>Included Features</b> tab, a new <b>Versions...</b> button has been added, which allows you to synchronize the current feature with |
| actual versions of included features, or sets included feature versions to be synchronized on build. |
| <p> |
| <img src="images/pde-version-included-feature.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="workspace-overriding-target-option"> |
| <td class="title">Option added for workspace plug-ins overriding target plug-ins </td> |
| <td class="content"> |
| A new option to specify if workspace plug-ins should override target platform plug-ins with the same id has been |
| added on the <b>Plug-in Development </b> preference page. |
| <p> |
| <img src="images/workspace-plugins-override-target.png" alt=""/> |
| </p> |
| <p> |
| This option is enabled by default. When it's disabled, all plug-in versions from the workspace and target platform will |
| be used and the best available plug-in for a plug-in id will be chosen. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="error-log-show-in-console"> |
| <td class="title">'Show In Console' added to context menu of Error Log view</td> |
| <td class="content"> |
| In the <b>Error Log</b> view, the context menu now includes <b>Show In Console</b>, which performs the same |
| action as <b>Show Stack Trace in Console View</b> from the view toolbar. |
| <p> |
| <img src="images/pde-show-in-console-view-context-menu-error-log-view.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="reload-target-editor"> |
| <td class="title">Reload Target Editor</td> |
| <td class="content"> |
| When a target platform is already active, the <b>Target Editor</b> now shows a <b>Reload Target Platform</b> link instead of <b>Set Active Platform</b>. |
| The reload link has the same effect as clicking the <b>Reload</b> button in the <b>Plug-in Development > Target Platform</b> preference page. |
| <p> |
| <img src="images/pde-target-editor-reload.png" alt=""/> |
| </p> |
| If the .target file has been modified, clicking the |
| link will now ask you to save the target editor and then reload the target. |
| </td> |
| </tr> |
| |
| <tr id="target-definition-generic-editor-extension"> |
| <td class="title">Target definition files can be edited with the Generic Editor</td> |
| <td class="content"> |
| The <b>Generic Editor</b> has been extended to enable it to edit target definition files (.target files). It supports syntax highlighting for the most used keywords. |
| It also supports content assist for tags and their attributes, installable units for a given repository, and the available versions for a given installable unit. |
| <p> |
| <img src="images/target-editor-screenshot.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="p2-inf-editor"> |
| <td class="title">p2.inf files open in Properties Editor</td> |
| <td class="content"> |
| The <b>Properties File Editor</b> is now the default editor associated with <code>p2.inf</code> files. |
| </td> |
| </tr> |
| |
| <tr id="search-in-features"> |
| <td class="title">Search finds plug-in references in features</td> |
| <td class="content"> |
| <b>Search > Plug-ins...</b> that finds references to a plug-in now also finds references to a plug-in in features. |
| <p> |
| <img src="images/pde-search-plugin-in-feature.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="quickfix-adds-import-statement"> |
| <td class="title"> Quick Fix to add bundle or package adds import statement</td> |
| <td class="content"> |
| The Quick Fix that adds an <code>Import-Package</code> or <code>Require-Bundle</code> dependency |
| in the <code>MANIFEST.MF</code> now also adds the relevant import statement for the unresolved type in the <b>Java editor</b>. |
| </td> |
| </tr> |
| |
| <tr id="validate-launch-configuration"> |
| <td class="title">Validate launch configuration activated by default</td> |
| <td class="content"> |
| When you create a new Eclipse Application launch configuration, PDE will now by default enable the option to |
| <b>Validate Plug-ins automatically prior to launching</b>. |
| <p> |
| This helps identify missing plug-in dependencies before the start of the application and makes it easier for new plug-in |
| and RCP developers to identify common problems. |
| This validation can be disabled in the <b>Plug-ins</b> tab of the launch configuration dialog. |
| </p> |
| <p> |
| <img src="images/validate-launch-config-by-default.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="tracing-tab-restore-defaults"> |
| <td class="title">'Restore to defaults' buttons added to Tracing tab</td> |
| <td class="content"> |
| In the <b> Tracing</b> tab of the launch configuration dialog, new options to <b>Restore Selected to Defaults</b> |
| and <b>Restore All to Defaults</b> have been added. |
| <p> |
| <img src="images/pde-restore-default-tracing-tab.png" alt=""/> |
| </p> |
| |
| </td> |
| </tr> |
| |
| <!-- ******************** OSGi Declarative Services ********************** --> |
| <tr> |
| <td id="declarative-services" class="section" colspan="2"><h2>OSGi Declarative Services</h2></td> |
| </tr> |
| |
| <tr id="ds-annotations"> |
| <td class="title">Support for Declarative Services Annotations v1.3</td> |
| <td class="content"> |
| Version 1.3 of OSGi Declarative Services delivers a number of improvements, including |
| Component Property Types for strongly-typed configuration parameter handling, |
| Field Strategy for dependency injection, service/reference scoping, and others. |
| <p> |
| PDE now supports the enhanced annotations and new usage options. It generates component |
| properties from any Component Property Types that you may use in your component lifecycle |
| methods. It also creates reference entries from <code>@Reference</code> annotations |
| specified directly in <code>@Component</code> as well as annotated member fields. New |
| reference event method signatures are also supported. |
| </p> |
| <p> |
| <img src="images/ds-annotations.png" alt="" /> |
| </p> |
| <p> |
| To enable this feature, go to <b>Preferences</b> or <b>Project Properties > Plug-in Development > DS Annotations</b> |
| and check <b>Generate descriptors from annotated sources</b>. |
| </p> |
| </td> |
| </tr> |
| |
| <!-- ******************** Wizards ********************** --> |
| <tr> |
| <td id="wizards" class="section" colspan="2"><h2>Wizards</h2></td> |
| </tr> |
| |
| <tr id="generic-editor-template"> |
| <td class="title">Plug-in project template added for Generic Text Editor</td> |
| <td class="content"> |
| A plug-in project template has been added to show off the new extensible generic editor functionality. It will kick-start you with a sample .target file editor with syntax highlighting. |
| <p> |
| <img src="images/pde-generic-editor.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="plug-in-template-names"> |
| <td class="title">More descriptive plug-in template names</td> |
| <td class="content"> |
| The template name for plug-ins have been modified to be more descriptive. |
| <p> |
| <img src="images/pde-plugin-template-names.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="new-feature-project-filtered-tree"> |
| <td class="title">Plug-in selection filter in Feature project wizard</td> |
| <td class="content"> |
| You can now use a text filter when selecting plug-ins in the <b>New > Feature Project</b> wizard. |
| <p> |
| <img src="images/new-feature-project-filtered-tree.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="plugin-and-feature-export-wizards-filtered-selection"> |
| <td class="title">Filter in plug-in and feature export wizards</td> |
| <td class="content"> |
| You can now use a text filter when selecting plug-ins in the <b>Export.. > Deployable plug-ins and fragments</b> or |
| features in the <b>Export.. > Deployable features</b> wizards. |
| <p> |
| <img src="images/plugin-and-feature-export-wizards-filtered-selection.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <!-- ******************** APITools ********************** --> |
| <tr> |
| <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td> |
| </tr> |
| |
| <tr id="changed-exec-env-version-problem"> |
| <td class="title">Change in Execution Environment creates a version problem</td> |
| <td class="content"> |
| Changing the <b>Execution Environments </b> in a plug-in now creates a problem marker indicating that the minor version should be increased. This happens |
| if the minor version is not already increased with respect to the baseline. |
| <p> |
| The preference to control the severity of this problem is located in |
| the <b>Version Management</b> tab of the <b>Plug-in Development > API Errors/Warnings</b> preference page. |
| </p> |
| <p> |
| <img src="images/pde-changed-exec-env-version-problem.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="default-method-addition"> |
| <td class="title">Default method addition reported as a breaking change</td> |
| <td class="content"> |
| The API Tools now reports the addition of a default method in an API interface that can be implemented by |
| clients as a <a href="https://wiki.eclipse.org/Evolving_Java-based_APIs_2#Evolving_API_Interfaces"> |
| breaking change</a>. |
| <p> |
| On the <b>Plug-in Development > API Errors/Warnings</b> preference page in the <b>API Compatibility</b> tab, |
| there is a new option in the <b>Interface</b> section to configure the severity of a "default method addition" API change. |
| </p> |
| <p> |
| By default, this option is set to "Error" because adding the same method in multiple interfaces can break |
| existing clients at run time (<a href="http://docs.oracle.com/javase/specs/jls/se8/html/jls-13.html#jls-13.5.6">JLS8 13.5.6</a>). |
| </p> |
| <p> |
| <img src="images/pde-default-method-addition-api-compat-option.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="field-addition-to-class"> |
| <td class="title">Field addition to Class reported as a breaking change</td> |
| <td class="content"> |
| The API Tools now reports the addition of a field to a Class that is extendable by clients as a <a href="https://wiki.eclipse.org/Evolving_Java-based_APIs_2#add-api-field ">breaking change.</a> |
| <p> |
| On the <b>Plug-in Development > API Errors/Warnings</b> preference page in the <b>API Compatibility</b> tab, |
| there is a new option in the <b>Class</b> section to configure the severity of a "field addition to class". |
| Also, there is a new link at the top of <b>API Compatibility</b> tab that has more details on achieving API binary compatibility. |
| </p> |
| <p> |
| <img src="images/pde-api-tools-field-addition-to-class-preference-ui.png" alt=""/> |
| </p> |
| |
| The field addition error has a Quick Fix that opens help to explain the incompatibility in greater detail. |
| <p> |
| <img src="images/pde-api-tools-field-addition-to-class-quickfix.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="field-addition-to-annotation-option"> |
| <td class="title">Option for field addition to an annotation</td> |
| <td class="content"> |
| On the <b>Plug-in Development > API Errors/Warnings</b> preference page in the <b>API Compatibility</b> tab, |
| there is a new option in the <b>Annotation</b> section to configure the severity of a "field addition to annotation". |
| <p> |
| <img src="images/pde-field-addition-to-annotation.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="api-tools-noimplement-noextend-leak"> |
| <td class="title">Types marked with <code>@noimplement</code> and <code>@noextend</code> processed by API leak analysis</td> |
| <td class="content"> |
| Extending or implementing an interface marked as <code>@noimplement</code> is now reported as an API leak. This is because |
| adding a field or method to the interface marked as <code>@noimplement</code> may break a client that is using |
| the extended or implemented type. |
| <p> |
| Also, extending a type marked as <code>@noextend</code> is now reported as an API leak. This is because it may indirectly |
| leak API types if the extended type is further extended by the client. |
| </p> |
| Some of the new kinds of leak warnings are shown below: |
| <p> |
| <img src="images/pde-api-tool-warning-leak-noimplement-noextend.png" alt=""/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="quick-fix-for-apitool-pde-compiler-problems"> |
| <td class="title">Quick Fix to configure problem severity</td> |
| <td class="content"> |
| You can now configure the severity of an <b>API Tools </b>problem or a <b>PDE compiler</b> problem by invoking the new <b>Quick Fix (Ctrl+1)</b>. |
| <br/> |
| <br/> |
| <p> |
| <img src="images/pde-configure-problem-api-tool.png" alt=""/> |
| </p> |
| For API tools problems, the Quick Fix will open the <b>Plug-in Development > Errors/Warnings</b> |
| preference page and highlight the configurable problem. |
| |
| <br/> |
| <br/> |
| <p> |
| <img src="images/pde-configure-problem-pde-compiler.png" alt=""/> |
| </p> |
| For PDE compiler problems, the Quick Fix will open the <b>Plug-in Development > Compilers</b> |
| preference page and highlight the configurable problem. |
| |
| </td> |
| </tr> |
| |
| <tr id="reorganized-version-management-tab"> |
| <td class="title">Reorganized Version Management preferences tab</td> |
| <td class="content"> |
| The <b>Version Management</b> tab of the <b>Plug-in Development > API Errors/Warnings</b> preference page has been |
| reorganized as shown below: |
| <ul> |
| <li> |
| The sub-options to control major/minor version change without API breakage/changes have been converted into normal options |
| and they are set to warning by default.</li> |
| <li> |
| The option 'Report changed execution environment incompatibility' has been moved |
| to the bottom of the tab.</li> |
| </ul> |
| <p> |
| <img src="images/pde-version-management-tab-preference.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <script type="text/javascript" src="scripts.js"></script> |
| |
| <p style="text-align:center"> |
| <a href="platform_isv.php">Previous</a> <a style="margin:1em" href=".">Up</a> <span style="color:#808080">Next</span> |
| </p> |
| |
| </body> |
| </html> |