blob: e141eec0d5713d1cf9d19381bf52ca49a2930a95 [file] [log] [blame]
<!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>