<!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 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.12 - New and Noteworthy</title>
</head>

<body>
<h2>Java development tools</h2>
<ul>
	<li><a href="#Java12">Java&trade; 12 Support</a></li>
	<li><a href="#JavaEditor">Java Editor</a></li>
	<li><a href="#JavaViewsAndDialogs">Java Views and Dialogs</a></li>
	<li><a href="#Debug">Debug</a></li>
	<li><a href="#JDTDev">JDT Developers</a></li>
	<!--
	<li><a href="#JUnit">JUnit</a></li>
	<li><a href="#JavaFormatter">Java Formatter</a></li>
	-->
</ul>

<!-- ****************** START OF N&N TABLE****************** -->
<table class="news" >
<colgroup>
  <col class="title" />
  <col />
</colgroup>
<tbody>

  <!-- ******************* Java 12 Support ************************************* -->
  <tr >
    <td id="Java12" class="section" colspan="2">
    <h2>Java&trade; 12 Support </h2>
    </td>
  </tr>
  
  <tr id="quickfix-change-compliance-12"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=543781 -->
    <td class="title">Change project compliance and JRE to 12</td>
    <td class="content">
      A quick fix <b>Change project compliance and JRE to 12</b> is provided to change the current project to be compatible with Java 12.
    <p>
      <img src="images/quickfix-change-compliance-12.png" alt=""/>
    </p>
    </td>
  </tr>
   
  <tr id="enable-preview"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=542579 -->
    <td class="title">Enable preview features</td>
    <td class="content">
      Preview features in Java 12 can be enabled using <b>Preferences &gt; Java &gt; Compiler &gt; Enable preview features</b> option.
      The problem severity of these preview features can be configured using the <b>Preview features with severity level</b> option. 
    <p>
      <img src="images/enable-preview.png" alt=""/>
    </p>
    </td>
  </tr>

  <tr id="quickfix-enable-preview-12"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=544257 -->
    <td class="title">Set Enable preview features</td>
    <td class="content">
      A quick fix to <b>Enable preview features</b> option in preferences is provided.
    <p>
      <img src="images/enable_preview_features_quickfix.png" alt=""/>
    </p>
    </td>
  </tr>
  
  <tr id="quickfix-configure-severity-12"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=543669 -->
    <td class="title">Configure problem severity of preview features</td>
    <td class="content">
      A quick fix <b>Configure problem severity</b> is provided to update the problem severity of preview features in Java 12.
    <p>
      <img src="images/quickfix-configure-severity-12.png" alt=""/>
    </p>
    </td>
  </tr>
   
  <tr id="quickfix-default-switch-statement"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=543665 -->
    <td class="title">Add default case to switch statement</td>
    <td class="content">
      A quick fix <b>Add 'default' case</b> is provided to add default case to a enhanced switch statement in Java 12.
    <p>
      <img src="images/quickfix-default-switch-statement.png" alt=""/>
    </p>
    </td>
  </tr>

  <tr id="quickfix-missing-case-switch-statement"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545259 -->
    <td class="title">Add missing case statements to switch statement</td>
    <td class="content">
      A quick fix <b>Add missing case statements</b> is provided for a enhanced switch statement in Java 12.
    <p>
      <img src="images/quickfix-missing-case-switch-statement.png" alt=""/>
    </p>
    </td>
  </tr>

  <tr id="quickfix-default-switch-expression"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545256 -->
    <td class="title">Add default case to switch expression</td>
    <td class="content">
      A quick fix <b>Add 'default' case</b> is provided to add default case to a switch expression.
    <p>
      <img src="images/quickfix-default-switch-expression.png" alt=""/>
    </p>
    </td>
  </tr>

  <tr id="quickfix-missing-case-switch-expression"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545340 -->
    <td class="title">Add missing case statements to switch expression</td>
    <td class="content">
      A quick fix <b>Add missing case statements</b> is provided for switch expressions.
    <p>
      <img src="images/quickfix-missing-case-switch-expression.png" alt=""/>
    </p>
    </td>
  </tr>

  <tr id="switch-spaces"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545423 -->
    <td class="title">Format whitespaces in 'switch'</td>
    <td class="content">
      As Java 12 introduced some new features into the <code>switch</code> construct, the formatter profile has some new settings for it.
	  The settings allow you to control spaces around the arrow operator (separately for <code>case</code> and <code>default</code>) and around commas in a multi-value case.
      <p>
       The settings can be found in the <b>Profile Editor</b> (<b>Preferences &gt; Java &gt; Code Style &gt; Formatter &gt; Edit...</b>) under the <b>White space &gt; Control statements &gt; 'switch'</b> subsection.
      </p>
      <p>
        <img src="images/formatter-switch.png" alt="" />
      </p>
    </td>
  </tr>

  <tr id="split-switch-case-labels"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545261 -->
    <td class="title">Split Switch Case Labels</td>
    <td class="content">
      As Java 12 introduced the ability to group multiple <code>switch</code> case labels into a single case expression, a quick assist is provided that allows these grouped labels to be split into separate case statements.
      <p>
        <img src="images/split-switch-case-labels.png" alt="" />
      </p>
    </td>
  </tr>
  	
  <!-- ******************* End of Java 12 Support ************************************* -->

  <!-- ******************* JUnit ************************************* -->
  <!--
  <tr>
    <td id="JUnit" class="section" colspan="2">
    <h2>JUnit</h2>
    </td>
  </tr>
  -->
  <!-- ******************* End of JUnit ************************************* -->

  <!-- ******************* Java Editor ************************************* -->
  <tr>
    <td id="JavaEditor" class="section" colspan="2">
    <h2>Java Editor </h2>
    </td>
  </tr>

  <tr id="parameter-name-codemining"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=529011 -->
   <td class="title">Show method parameter names on code as code minings</td>
    <td class="content">
      In the <b>Java &gt; Editor &gt; Code Mining</b> preferences, you can now enable the <b>Show parameter names</b>
      option. This will show the parameter names as code minings in method or constructor calls, for cases where the resolution may 
      not be obvious for a human reader.
      <p>
       For example, the code mining will be shown if the argument name in the method call is not an exact match of the parameter name or 
       if the argument name doesn't contain the parameter name as a substring.
      </p>
      <p>
        <img src="images/parameter-name-codeminings.png" alt=""/>
      </p>
    </td>
  </tr>
  <tr id="method-implementation-codemining"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=529011 -->
   <td class="title">Show number of implementations of methods as code minings</td>
    <td class="content">
      In the <b>Java &gt; Editor &gt; Code Mining</b> preferences, selecting <b>Show implementations</b>
      with the <b>Show References (including implementations) for</b> -> <b>Methods</b> option now shows
      implementations of methods.
      <p>
        <img src="images/method-implementation-codeminings.png" alt=""/>
      </p>
      <p>
      Clicking on method implementations brings up the <b>Search</b> view that shows all implementations
      of the method in sub-types.
      </p>
      <p>
        <img src="images/method-implementation-codeminings-click.png" alt=""/>
      </p>
    </td>
  </tr>
  <tr id="ctrl-click-codemining"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=529011 -->
   <td class="title">Open single implementation/reference in editor from code mining</td>
    <td class="content">
      When the <b>Java &gt; Editor &gt; Code Mining</b> preferences are enabled and a single implementation or reference is shown, moving the cursor over the annotation and using <b>Ctrl+Click</b> will open the editor and display the single implementation or reference.
      <p>
        <img src="images/ctrlclickimpl.png" alt=""/>
      </p>
    </td>
  </tr>

  <tr id="service-provider-constructor-quick-fix"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=541261 -->
   <td class="title">Additional quick fixes for service provider constructors</td>
    <td class="content">
      Appropriate quick fixes are offered when a service defined in a <code>module-info.java</code> file has a service provider implementation whose no-arg constructor is not visible, or is non-existent.
      <p>
        <img src="images/service-provider-create-constructor.png" alt=""/>
      </p>
         <p>
        <img src="images/service-provider-change-constructor-visibility.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="new-switch_labeled_statment_expression_template"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545417 -->
      <td class="title">Template to create Switch Labeled Statement and Switch Expressions</td>
      <td class="content">
          The <b>Java Editor</b> now offers new templates for the creation of switch labeled statements and switch expressions.
          On a switch statement, three new templates: <b>switch labeled statement</b>, <b>switch case expression</b> and <b>switch labeled expression</b>
           are available as shown below. These new templates are available on Java projects having compliance level of Java 12 or above. 
          <p>
              <img src="images/switch_labeled_statement.png" alt="" />
          </p>
          <p>
              <img src="images/switch_case_expression.png" alt="" />
          </p>
          <p>
              <img src="images/switch_labeled_expression.png" alt="" />
          </p>
          
          If <b>switch</b> is being used as an expression, then only <b>switch case expression</b> and <b>switch labeled expression</b>
          templates are available as shown below:
          <p>
              <img src="images/switch_expression_templates.png" alt="" />
          </p>
           
      </td>
  </tr>
  <!-- ******************* End of Java Editor ************************************* -->

  <!-- ******************* Java Views and Dialogs ************************************* -->
  <tr>
    <td id="JavaViewsAndDialogs" class="section" colspan="2">
    <h2>Java Views and Dialogs</h2>
    </td>
  </tr>
  
  <tr id="comment-generation-checkbox"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=545011 -->
   <td class="title">Enable comment generation in modules and packages</td>
    <td class="content">
      An option is now available to enable/disable the comment generation while creating <code>module-info.java</code>
      or <code>package-info.java</code>.
      <p>
        <img src="images/module-info-comment-generation-check-box.png" alt=""/>
      </p>
         <p>
        <img src="images/package-info-comment-generation-checkbox.png" alt=""/>
      </p>
    </td>
  </tr>
  <tr id="getter-setter-quick-assist"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=232920 -->
      <td class="title">Improved 'create getter and setter' quick assist</td>
      <td class="content">
          The quick assist for creating getter and setter methods from fields no longer forces you to create both.
          <p>
              <img src="images/getter-setter-dialog-new.png" alt=""/>
          </p>
      </td>
  </tr>
  <tr id="quickfix-open-missing-projects"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=343121 -->
      <td class="title">Quick fix to open all required closed projects</td>
      <td class="content">
          A quick fix to open all required closed projects is now available in the <b>Problems</b> view.
          <p>
              <img src="images/quickfix-open-missing-projects-problem-view.png" alt=""/>
          </p>
          <p>
              <img src="images/quickfix-open-missing-projects.png" alt=""/>
          </p>
      </td>
  </tr>
  <tr id="buildpath-module-dependencies"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=546352 -->
  	<td class="title">New UI for configuring <b>Module Dependencies</b></td>
  	<td class="content">
  		The <b>Java Build Path</b> configuration now has a new tab <b>Module Dependencies</b>,
  		which will gradually replace the options previously hidden behind the <b>Is Modular</b>
  		node on other tabs of this dialog. The new tab provides an intuitive way for configuring all
  		those module-related options for which Java 9 had introduced new command line options
  		like <code>--limit-modules</code> etc.
  		<p>
  			<a href="images/module-dependencies.png"><img src="images/module-dependencies-cropped.png" alt="Module Dependencies dialog"/></a>
  		</p>
  		<p>
  			The dialog focuses on how to build one Java Project, here "org.greetings".
		</p><p>
  			Below this focus module, the left hand pane shows all modules that participate in the build,
  			where decorations A and S mark automatic modules and system modules, respectively. The extent
  			of system modules (from JRE) can be modified with the <b>Add System Module...</b> and
  			<b>Remove</b> buttons (corresponds to <code>--add-modules</code> and <code>--limit-modules</code>).
 		</p><p>
  			When a module is selected in the left hand pane, the right hand pane allows to configure
  			the following properties for this module:
  		</p>
		<dl>
		<dt><b>Read Module:</b></dt>
		<dd>Select additional modules that should be accessible from the
			selected module (corresponds to <code>--add-reads</code>)</dd>
		<dt><b>Expose Package:</b></dt>
		<dd>Select additional packages to be exposed ("exports" or "opens")
			from the selected module (corresponds to <code>--add-exports</code> or <code>--add-opens</code>)</dd>
		<dt><b>Patch with:</b></dt>
		<dd>Add more packages and classes to the selected module
			(corresponds to <code>--patch-module</code>)</dd>
		</dl>
  	</td>
  </tr>
 
  <!-- ******************* End of Java Views and Dialogs ************************************* -->

  <!-- ******************* Java Compiler ************************************* -->

  <tr>
    <td id="JavaCompiler" class="section" colspan="2">
    <h2>Java Compiler</h2>
    </td>
  </tr>
  <tr id="new-java-index">
    <td class="title">Experimental Java index retired</td>
    <td class="content">
      Eclipse 4.7 introduced a new experimental Java index which was disabled by default.<br/>
      Due to lack of resources to properly support all Java 9+ language changes,
      this index is not available anymore starting with Eclipse 4.12.
      <p>
      The preference to enable it in <b>Preferences &gt; Java</b> is removed and the old index will be always used.
      </p>
      <b>Note:</b> <b>Preferences &gt; Java &gt; Rebuild Index</b> button can be used to delete the existing index files and free disk space.
    </td>
  </tr>

  <!-- ******************* End of Java Compiler ************************************* -->

  <!-- ******************* Java Formatter ************************************* -->
  <!--
  <tr>
    <td id="JavaFormatter" class="section" colspan="2">
    <h2>Java Formatter </h2>
    </td>
  </tr>
  -->
  <!-- ******************* End of Java Formatter ************************************* -->
  
  <!-- *********************** Debug ******************************** -->
  <tr>
    <td id="Debug" class="section" colspan="2">
    <h2>Debug</h2>
    </td>
  </tr>
   <tr id="run-to-line-in-annotation-ruler"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=498428 -->
    <td class="title">'Run to Line' on Ctrl+Alt+Click in annotation ruler</td>
    <td class="content">
      A new shortcut, <b>Ctrl+Alt+Click</b>, has been added to the annotation ruler that will invoke the <b>'Run to Line'</b> command and take the program execution to the line of invocation.
      <p>
      	<img src="images/run-to-line.png" alt="" />
      </p>
    </td>
  </tr>
  
  <tr id="content-assist-debug-shell"><!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=546071 -->
    <td class="title">Content assist in Debug Shell</td>
    <td class="content">
      Content assist <b>(Ctrl+Space)</b> support is now available in the <b>Debug Shell</b>. 
      <p><img src="images/content-assist-debug-shell.png" alt=""/></p>
    </td>
  </tr>
  
  <tr id="jstc-clear-initial-message"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=343023 -->
    <td class="title">Clear Java Stack Trace Console usage hint on first edit</td>
    <td class="content">
      The <b>Java Stack Trace Console</b> shows a usage hint when opened the first time. This message is now automatically removed 
      when the user starts typing or pasting a stack trace.
      <p><img src="images/jstc-initial-clear.png" alt=""/></p>
    </td>
  </tr>
  
  <tr id="lambda-variables-variable-view"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=534687 -->
    <td class="title">Lambda variable names shown in Variables view</td>
    <td class="content">
      The Lambda variable names are now shown in the <b>Variables</b> view while debugging projects in the workspace.
      <p><img src="images/lambda-variables-view.png" alt=""/></p>
    </td>
  </tr>
  
  <!--************************ End of Debug ******************************** -->

  <!-- *********************** JDT Developers ******************************** -->
  <tr>
    <td id="JDTDev" class="section" colspan="2">
    <h2>JDT Developers</h2>
    </td>
  </tr>
  
  <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=544362 -->
  <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=540485 -->
    
  <tr id="javadoc-support-tags"> 
   <td class="title">Support for new Javadoc tags</td>
    <td class="content">
      The following Javadoc tags are now supported by the compiler and auto-complete.
      <p>
		Tags introduced in JDK 8:<br/>
		<code>@apiNote</code><br/>
		<code>@implSpec</code><br/>
		<code>@implNote</code>
	  </p>
	  <p>
		Tags introduced in JDK 9:<br/>
		<code>@index</code><br/>
		<code>@hidden</code><br/>
		<code>@provides</code><br/>
		<code>@uses</code>
	  </p>
	  <p>
		Tags introduced in JDK 10:<br/>
		<code>@summary</code>
	  </p>
    </td>
  </tr>
 
  
  <!-- *********************** End of JDT Developers ******************************** -->
</tbody>
</table>
<!-- ****************** END OF N&N TABLE ****************** -->

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