<!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, 2019. This page is made available under license. For full details, see the LEGAL section in the documentation 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.16 - New and Noteworthy</title>
</head>

<body>
<h2>Platform and Equinox</h2>
<ul>
    <li><a href="#ViewsAndDialogs">Views, Dialogs and Toolbar</a></li>
    <li><a href="#TextEditors">Text Editors</a></li>
    <li><a href="#StylingThemes">Themes and Styling</a></li>
    <li><a href="#Preferences">Preferences</a></li>
    <li><a href="#Debug">Debug</a></li>
    <li><a href="#GeneralUpdates">General Updates</a></li>
</ul>

<!-- ****************** START OF N&N TABLE ****************** -->
<table class="news">
<colgroup>
  <col class="title" />
  <col />
</colgroup>
<tbody>
  <!-- ******************* Views, Dialogs and Toolbar ************************************* -->
  <tr>
    <td id="ViewsAndDialogs" class="section" colspan="2">
    <h2>Views, Dialogs and Toolbar </h2>
    </td>
  </tr>
  
   <tr id="create-subfolder"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=550898 -->
    <td class="title">Create missing folders from the New File wizard</td>
    <td class="content">
     You can now create missing folders directly via the New File wizard, without explicitly creating folders beforehand.
     <p> 
      <img src="images/file-and-folder.png" alt=""/>
     </p>
    </td>
   </tr>
  
  <!-- ******************* End of Views, Dialogs and Toolbar ************************************* -->
  
  <!-- ******************* Text Editors ************************************* -->
  <tr>
    <td id="TextEditors" class="section" colspan="2">
    <h2>Text Editors </h2>
    </td>
  </tr>
  <tr id="eclipse-win-ligatures-support"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=562165 -->
    <td class="title"><a href="#eclipse-win-ligatures-support">Support for ligatures on Windows</a></td>
    <td class="content">
      Eclipse now supports font ligatures on Windows. It was already supported on Linux and macOS.
      You can specify the font with ligatures to be used by the <b>Text editor</b>s using the preference:<br/>
      <b>General &gt; Appearance &gt; Colors and Font &gt; Basic &gt; Text Font</b>
      <p>Screenshot of ligatures rendered in the Java Editor on Windows 10:</p>
      <p>
       <img src="images/eclipse_ligatures_support_win.png" alt="Eclipse support for ligatures on Windows" />
      </p>
    </td>
  </tr>
  <!-- ******************* End of Text Editors ************************************* -->
  
  <!-- ******************* Themes and Styling ************************************* -->
  <tr>
    <td id="StylingThemes" class="section" colspan="2">
    <h2>Themes and Styling </h2>
    </td>
  </tr>
    <tr id="win-dark-theme-scrollbars"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=561588 -->
    <td class="title"><a href="#win-dark-theme-scrollbars">Native dark scrollbars in Windows dark theme</a></td>
    <td class="content">
      The Eclipse dark theme now uses the native dark scrollbars and retired the software solution for the editor area.
      <p> 
       <img src="images/dark-theme-scrollbars.png" alt="" />
      </p>
    </td>
  </tr>
  
  <tr id="light-theme-win10"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=551462 -->
    <td class="title"><a href="#light-theme-win10">Eclipse toolbar's styling on Windows aligned with Win 10</a></td>
    <td class="content">
      The default Eclipse light theme has been updated to align better with the Windows 10 default theme.
      <p> 
        Old:
      </p>
      <p>
        <img src="images/old-light-theme.png" alt="" />
      </p>
      <p> 
        New:
      </p>
      <p>
        <img src="images/new-light-theme.png" alt="" />
      </p>
    </td>
  </tr>
  
  <tr id="round-tabs-preference"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=562221 -->
    <td class="title">Square tabs for views</td>
    <td class="content">
    Square tabs are now used by default for the views in the Eclipse IDE.
    <p> 
        <img src="images/dark_theme_square_tabs.png" alt=""/>
    </p>
    <p>In order to switch back to using round tabs, a preference has been added.</p>
    <p> 
        <img src="images/round_tabs_preference_option.png" alt=""/>
    </p>
    <p> 
      Please note that the classic themes have been configured to ignore this setting so that they remain unchanged.
    </p>
    </td>
  </tr>
  
   <tr id="dark-toolbars"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=539661 -->
    <td class="title"><a href="#dark-toolbars">Consistent toolbar colors in dark theme</a></td>
    <td class="content">
        The toolbar styling in the dark theme is now consistent.
      <p>
        <img src="images/dark-theme-toolbar.png" alt="" />
      </p>
    </td>
  </tr>
  <!-- ******************* End of Themes and Styling ************************************* -->
  
  <!-- ****************** Preferences ************************************* -->
  <tr>
    <td id="Preferences" class="section" colspan="2">
      <h2>Preferences </h2>
    </td>
  </tr>

  <tr id="verify-jre-installation"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=483383 -->
    <td class="title">Verify installation operations against current JRE</td>
    <td class="content">
      A new option (on by default) is available in the <b>Install/Update</b> preference page:
      <i>Verify provisioning operation is compatible with current running JRE</i>. This enables
      some extra check when installing, updating or uninstalling content using the standard dialogs
      so the operation will fail with a useful message if the units you're installing require
      a newer or incompatible Java runtime than the one that's currently in use to run the IDE.
      <p> 
        <img src="images/incompatibleJREPref.png" alt=""/>
      </p>
      Here is how the error message looks like, for example when you're trying to install a unit
      that requires Java 14 and you're running the Eclipse IDE with an older Java version:
      <p> 
        <img src="images/incompatibleJREMessage.png" alt=""/>
      </p>
    </td>
  </tr>

  <tr id="inline-rename-mode-preference"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=560536 -->
    <td class="title">Preference to inline rename resource</td>
    <td class="content">
      The <a href="https://www.eclipse.org/eclipse/news/4.15/platform.php#resource-rename-mode-preference">preference</a> to rename resource inline or using dialog was added in 4.15 as a radio button and has now been changed to a check box. 
      <p> 
        <img src="images/inlineRenameResource.png" alt=""/>
      </p>
    </td>
  </tr>
  <!-- ****************** End of Preferences ************************************* -->
  
  <!-- ****************** Debug ************************************* -->
  <tr>
    <td id="Debug" class="section" colspan="2">
    <h2>Debug </h2>
    </td>
  </tr>

  <tr id="import-selectall"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=456304 -->
    <td class="title">'Select All' and 'Deselect All' for Import breakpoints wizard</td>
    <td class="content">
      You can now use <b>Select All</b> or <b>Deselect All</b> buttons to select or deselect all the breakpoint markers
      during import of breakpoints.
      <p>
        <img src="images/import-selectall.png" alt=""/>
      </p>
    </td>
  </tr>

  <!-- ****************** End of Debug ************************************* -->

  <!-- ******************* General Updates ************************************* -->
  <tr>
    <td id="GeneralUpdates" class="section" colspan="2">
    <h2>General Updates </h2>
    </td>
  </tr>
  <tr id="show-keybinding"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=550582 -->
    <td class="title"><a href="#show-keybinding">Show key bindings when command is invoked</a></td>
    <td class="content">
      For presentations, screen casts and learning purposes, it is very helpful to show the corresponding 
      key binding when a command is invoked. This was added some releases ago.
      <p> 
       <img src="images/show_keybindings.png" alt="Key binding of triggered command shown on screen" style="width: 50%" />
      </p>
      <p>It is now possible to enable this feature separately for keyboard interaction and mouse clicks. So you can enable it for mouse clicks only, for keyboard interaction only or for both. 
       Enabling this only for mouse clicks is very helpful for users who want to learn existing key bindings.
      </p>
      <p>You can enable this on the <b>Preferences</b> dialog via the <em>Show key binding when command is invoked</em> group on the <b>General &gt; Keys</b> preference page.
      To change this setting quickly the command 'Toggle Show Key Bindings' can be used (e.g. via the find actions dialog).
      </p>
      <p> 
       <img src="images/show_keybindings_pref.png" alt="Key binding of triggered command shown on screen" style="width: 50%" />
      </p>
      </td>
  </tr>
  <tr id="ant-version-upgrade"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=559027 -->
    <td class="title">Ant 1.10.8</td>
    <td class="content">
      Eclipse has adopted Ant version 1.10.8.
    </td>
  </tr>
  
  <!-- ******************* End of General Updates ************************************* -->
</tbody>
</table>
<!-- ****************** END OF N&N TABLE ****************** -->

<script type="text/javascript" src="scripts.js"></script>
  <p style="text-align:center">
    <span style="color:#808080">Previous</span> <a style="margin:1em" href=".">Up</a> <a href="jdt.php">Next</a>
  </p>
</body>
</html>
