|  | <!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> |