<!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 2018, 2022. 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 4.24 - New and Noteworthy</title>
</head>

<body>
<h2>Plug-in Development Environment</h2>
<ul>
	<li><a href="#dialogs-wizards-views">Dialogs, Wizards and Views</a></li>
	<li><a href="#editors">Editors</a></li>
	<!-- <li><a href="#APITools">API Tools</a></li> -->
	<!-- <li><a href="#pde-compiler">PDE Compiler</a></li> -->
</ul>

<!-- ****************** START OF N&N TABLE****************** -->
<table class="news">
<colgroup>
  <col class="title" />
  <col />
</colgroup>
<tbody>
  <!-- ******************** Dialogs, Wizard and Views ********************** -->
  <tr>
    <td id="dialogs-wizards-views" class="section" colspan="2"><h2>Dialogs, Wizards and Views</h2></td>
  </tr>
  <tr id="event-spy">
       <!-- https://github.com/eclipse-pde/eclipse.pde/issues/85 -->
   <td class="title"><a href="#bundle-spy">Event Spy added to PDE</a></td>
   <td class="content">          
    <p> The <b>Event Spy</b> allows to view the events sent using an <code>IEventBroker</code> and is now available via PDE, using the <b>Spies</b> menu or the <b>Alt+Shift+F8</b> shortcut (on windows). </p> 
	<img src="images/eventSpyMenuAndShortcut.png" alt="" />
	<p>Start capturing events, and check the event's contents in the table. For instance, here the spy window has moved, and all the location events were caught.</p>
	<img src="images/eventSpyInPde.png"  alt="" />
   </td>
  </tr>
   
  <tr id="auto-add-requirements-launches">
    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=544838 -->
    <td class="title"><a href="#auto-add-requirements-launches">Include requirements automatically when launching an application</a></td>
    <td class="content">
      The <b>Launch Configuration</b> Wizard offers a new option in the <b>Plug-ins</b> tab to include required but missing plug-ins or features automatically while launching an Eclipse or Equinox application.
      By default this is enabled for Launch Configurations based on Features and disabled for those based on products, which reflects the previous behavior.
      <p>
      Missing plug-ins/features are only added to the launched application but not to the Launch Configuration.
      This allows to specify only the 'root' features/plug-ins you actually want in your application and to let Eclipse include only the minimal set of requirements in each launch.
      Consequently new dependencies don't have to be added to the Launch Configuration anymore.
      </p>
      <p><img src="images/autoIncludeLaunch.png" alt="Automatically include requirements in launch"/></p>
    </td>
   </tr>

  <!-- ******************** End ofDialogs, Wizard and Views ********************** -->
  
  <!-- ******************** Editors ********************** -->
  <tr>
    <td id="editors" class="section" colspan="2"><h2>Editors</h2></td>
  </tr>
  <tr id="auto-add-requirements-products">
    <!-- 
	https://bugs.eclipse.org/bugs/show_bug.cgi?id=570760
    https://github.com/eclipse-pde/eclipse.pde/pull/7
    -->
    <td class="title"><a href="#auto-add-requirements-products">Include requirements automatically when launching a product</a></td>
    <td class="content">
      The <b>Product Editor</b> offers a new option in the <b>Contents</b> tab to include required but missing features or plug-ins automatically when launching the product from the IDE.
      <p>
      This controls if the corresponding option, which is described above, is activated or not for the Launch Configuration associated with the product launch.
      By default this option is enabled for Feature and Plug-in based products to behave the same like when the product is build with <b>Eclipse Tycho</b>.
      </p>
      <p><img src="images/autoIncludeProduct.png" alt="Automatically include requirements in product"/></p>
    </td>
   </tr>

  <tr id="launching-alignment">
    <!-- 
      https://bugs.eclipse.org/bugs/show_bug.cgi?id=340350
      https://github.com/eclipse-pde/eclipse.pde/pull/107
      https://bugs.eclipse.org/bugs/show_bug.cgi?id=578644
     -->
    <td class="title"><a href="#launching-alignment">Products launched from IDE now better behave like products built with Maven/Tycho</a></td>
    <td class="content">
      Launching a Product from within the IDE via the <b>Product Editor</b> has been improved in the following aspects to result in an application whose set of plug-ins/features is as close as possible to what is assembled when the product is build by <b>Maven</b> and <b>Eclipse Tycho</b>:
      <ul>
        <li>Launching a product based on features creates a feature-based Launch Configuration</li>
        <li>Missing requirements are included by default (as described above)</li>
        <li>When launching a plugin-based product optional requirements are ignored by default when computing missing requirements</li>
        <li>When automatically including requirements, fragments are not added just because their host-plug-in is included</li>
      </ul>
      Together with the <a href="https://www.eclipse.org/eclipse/news/4.23/pde.php#eclipse-applications-launching">Improved launching of Eclipse/Equinox applications</a> in the previous release Eclipse 2022-03 it is now much simpler to set up products.
      As an example, to create the Eclipse SDK as a Product you only have to create a Product with basic settings via the Wizard, configure it to use features and add the <code>org.eclipse.sdk</code> feature.
      The Product is ready to launch.
      If you want Git support, just add the <code>org.eclipse.egit</code> feature and in case you want to develop Maven projects in your Product, just add <code>org.eclipse.m2e.feature</code>.
    </td>
   </tr>

  <!-- ******************** End of Editors ********************** -->

  <!-- ******************** APITools ********************** -->
  <!--
  <tr>
    <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td>
  </tr>
  -->
  <!-- ******************** End of APITools ********************** -->
  
   <!-- ******************** PDE Compiler ********************** -->
  <!--
  <tr>
    <td id="pde-compiler" class="section" colspan="2"><h2>PDE Compiler</h2></td>
  </tr>
  -->
   <!-- ******************** End of PDE Compiler ********************** -->
  <tr><td colspan="2"/></tr>  
</tbody>
</table>
<!-- ****************** END OF N&N 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>
