<!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) IBM Corporation and others 2015. 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="../book.css" charset="ISO-8859-1" type="text/css"/>
<style type="text/css">
table.news td {border-top: solid thin black;}
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; width: 30%; font-weight: bold;}
table.news tr td.content {vertical-align: top; width: 70%;}
ul {padding-left: 13px;}
</style>
<title>What's New in Mars (PDE)</title>
</head>

<body>
<h2>What's New in Mars (PDE)</h2>
<p>Here are descriptions of some of the more interesting or significant changes made to the Plug-in Development Environment (PDE)
for the Mars (4.5) release of Eclipse. They are grouped into:</p>
<ul>
	<li><a href="#dialogs-editors-views">Dialogs, Editors, and Views</a></li>
	<li><a href="#wizards">Wizards</a></li>
	<li><a href="#APITools">API Tools</a></li>
</ul>
<p>See also the
<b><a href="../../org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html">Eclipse Platform What's New</a></b>
and
<b><a href="../../org.eclipse.jdt.doc.user/whatsNew/jdt_whatsnew.html">JDT What's New</a></b>
documents.</p>
<p>We also recommend to read the <a href="../tips/pde_tips.htm">Tips and Tricks</a>.</p>
<br/>

<table class="news" border="0" cellpadding="10" cellspacing="0" width="80%" summary="New and noteworthy items">
<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="wildcard-support-plugins-features">
    <td class="title">Added wildcard support for selecting plug-ins</td>
    <td class="content">
      Wildcard support and implicit prefix completion are now supported in all plug-in selection dialogs,
      e.g. in the product editor or in the target definition.
      Due to the implicit "*" at the beginning of the pattern, you can just type "platf" to find "org.eclipse.platform".
          <p>
            <img src="images/plugin-selection-without-wildcards.png" alt="" />
          </p>
    </td>
  </tr>
  
  <tr id="product-default-preferences">
    <td class="title">Products can set default preference values</td>
    <td class="content">
      In the <b>Product Editor</b> you can now use an Eclipse Preferences File ("*.epf") to
      generate the default preference settings in the product's customization file. 
      <p>
      <img src="images/product-preferences.png" alt=""/>
      </p>
      A wizard allows you to
      control which files to use for generating the preference defaults.
      <p>
      <img src="images/product-convert-preferences.png" alt=""/>
      </p>
    </td>
  </tr>

  <tr id="pde-css-product-editor">
    <td class="title">Products can specify CSS file</td>
    <td class="content">
      In the <b>Product Editor</b>, on the <b>Customization</b> tab, you can now
      specify the name of a CSS file to be used to style the product. 
       
      <p>
        <img src="images/product-css-location.png" alt="Your product must have the Eclipse 4 CSS support installed and you must synchronize the product with its defining plug-in to keep the extension point up to date."/>
      </p>
    </td>
  </tr>

  <tr id="category-repository-references">
    <td class="title">Category editor can specify additional update repositories</td>
    <td class="content">
      In the <b>Category Manifest Editor</b> you can now specify additional update repositories that should be
      referenced by the generated update repository. These additional repositories will be searched for
      content whenever the generated repository receives a request for content.
      <p>
      <img src="images/category-repositories.png" alt=""/>
      </p>
    </td>
  </tr>

  <tr id="category-download-statistics">
    <td class="title">Category editor can define download statistics</td>
    <td class="content">
      In the <b>Category Manifest Editor</b> you can now specify a download statistics server that should
      be used to collect download statistics about your product. You can also specify which features and/or
      bundles should be used to collect download information. 
      <p>
      <img src="images/category-download-statistics.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="pde-target-editor-reload">
    <td class="title">"Reload" button in target editor </td>
    <td class="content">
       In the <b>Target Editor</b>, on the <b>Locations</b> section, there is now a <b>Reload</b> button that clears the cached 
       p2 profile and then resolves the target. This button is helpful in scenarios where the target editor is left in inconsistent
       state due to issues like unstable network connection.
      <p>
        <img src="images/pde-target-editor-reload-button.png" alt=""/>
      </p>
    </td>
  </tr>

  <tr id="pde-error-log-size">
    <td class="title">Option to set maximum log size</td>
    <td class="content">
      In the <b>Error Log</b> view, on the <b>view menu &gt; Filters...</b> dialog, there now is an option to set
      the maximum log size that can be read by the Error Log view. If the size of the error log exceeds
      this limit, a warning is logged.
      <p>
        <img src="images/pde-logsize-filter-dialog.png" alt="Maximum log size in filter log dialog"/>
      </p>
    </td>
  </tr>

  <!-- ******************** Wizards ********************** -->
  <tr>
    <td id="wizards" class="section" colspan="2"><h2>Wizards</h2></td>
  </tr>
  
  <tr id="e4Template">
    <td class="title">Create an E4 project from "New Plug-in" wizard</td>
    <td class="content">
		It is now possible to create an E4 project using the <b>New Plug-in Project</b> wizard.
		Select <b>This plug-ins will make contributions to the UI</b> and <b>create a rich client application</b>:
      <p>
        <img src="images/e4-template-step-1.png" alt="" />
      </p>
      <p>
        The next page will offer a template to create an E4 project:
      </p>
       <p>
        <img src="images/e4-template-step-2.png" alt="" />
      </p>
      <p>
        Then you can select to generate some sample content:
      </p>
        <p>
        <img src="images/e4-template-step-3.png" alt="" />
      </p>
       <p>
        And you get your E4 project in your workspace:
      </p>
        <p>
        <img src="images/e4-template-result.png" alt="" />
      </p>
	</td>
  </tr>

<!-- ******************** APITools ********************** -->
  <tr>
    <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td>
  </tr>

  <tr id="apibaselinefromtarget">
    <td class="title">Create an API baseline from a target definition</td>
    <td class="content">
		In the <b>Plug-in Development &gt; API Baselines</b> preference page,
		an API baseline can now be created from an existing target definition.
    </td>
  </tr>

  <tr id="pde-api-use-scan">
    <td class="title">API use scan report specifies additional filters used </td>
    <td class="content">
      <b> API use scan report</b>  specifies the location of additional filters (.api_filter files)
      used during the scan. It also reports the number of illegal references filtered out due to 
      additional filters used.
      <p>
        <img src="images/pde-additional-filter-information.png" alt="Additional Filter Information"/>
      </p>
    </td>
  </tr>

</tbody>
</table>
</body>
</html>
