<!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="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 Mars - 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="#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="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>

  <p style="text-align:center">
    <a href="platform_isv.php">Previous</a>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#808080">Next</span>
  </p>

</body>
</html>
