Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search




This is the New & Noteworthy page for CDT 9.6 which will be part of Eclipse 2018-12 Release in December 2018.

Java 11 Support CDT now works with Java 8 and Java 11. CDT will continue to build with Java 8 for now, but end users and contributors can use either version. Vendors who consume CDT into their own package may need to change their features to enable Java 11 and Java 8 co-existence and use Tycho 1.3.0 or later, see Bug 542644 for further details.

EPL v2 CDT is now released under the Eclipse Public License v2 (bug 540371).

Code formatting and clean-up CDT's own code base has had a huge code clean-up. This involved reformatting all Java code with Eclipse's latest code formatter, fixing end of lines and enforcing code formatting with a new gerrit job and Save actions when editing CDT code. See (bug 540373).


Resource renaming It is now possible to change the name of a source file and/or project folder in a C/C++ project without any refactoring. See bug 537176 for details.

The "rename" action on the menu pop-up after a right-click on a C/C++ file/folder has been overridden.


After clicking on the "rename" action, a custom dialog comes up with the option to check/uncheck a refactoring with or without updating references. The dialog also has a link to the CDT "Organize Includes" preference page.



Build Console Wrapping Wrapping is only enabled in the Build Console when the maximum number of the lines allowed in the console is below a limit ("Maximum number of lines to enable word wrap for") set in preferences -> C/C++ -> Build -> Console. This is to mitigate against a slow/unresponsive UI when the build console contains a lot of output. (See bug 407405).


Attaching to a C/C++ application The "Select Processes" dialog allows attaching a C/C++ application in order to debug. Several improvements were added to the attach dialog:

1. Command line arguments of processes are now listed. This allows e.g. filtering processes based their arguments, in addition to their names. Its also easier to identify different processes which run the same application, such as JVMs.

Cdt 96 select processes dialog shows command line arguments.png

2. Filtering by a suffix of process names or command line arguments is now possible; previously a regular expression was required to achieve this. E.g. its possible to search for Eclipse processes by inputing "*lipse", "lipse" or "eclips".

Cdt 96 select processes dialog filtering based on argument suffix.png

3. The filter input is now remembered between two attach operations, allowing to attach to the same application without needing to input the filter value multiple times.

Ignore Count on Breakpoints The Ignore count entered in the Breakpoint Properties in Eclipse is now no longer modified while running. This means that re-starting a Debug session will use the same ignore counts for breakpoints as the previous run. The side effect of this is breakpoints in the breakpoint view will not be updated when ignore counts are changed on GDB's CLI interface in the Debugger Console. (See bug 532077).

API modifications

org.eclipse.cdt.ui A new extension point, the CCallHierarchy, has been added for the Call Hierarchy View. It makes possible to extend the Call Hierarchy Tree content by adding a new node at the top of the tree, correspondingly to customize it's icon and style text, and to add additional click listeners. This could be useful for mixed source projects, when original declaration of a CDT node comes from a different programming language. The sample of implementation can be found in the corresponding test plugin (the org.eclipse.cdt.ui.tests.callhierarchy.extension package).

CDT96 Extended call hierarchy.png

org.eclipse.cdt.managedbuilder.ui The attribute applicabilityCalculator on an optionCategory node in the extension point org.eclipse.cdt.managedbuilder.core.buildDefinitions is now called with the correct IOptionCategory instance. Previously, IOptionCategoryApplicabilityCalculator.isOptionCategoryVisible() was called with the parent IOptionCategory (normally the Tool instance).

Other changes

Version qualifiers Reproducible version qualifiers are now enabled for CDT (See Tycho/Reproducible_Version_Qualifiers). The qualifier (4th segment of the version number) of all CDT plugins/features is now based on the git commit timestamp rather than the build time, this means that the same version will be produced when building from the same git commit. As a result of this future updates to CDT will only require download of changed plugins rather than all plugins.

By default tycho will now require the major, minor, or patch segments of a version number to be incremented after a release. If you are building CDT yourself and wish to avoid this then add an addition argument, "-DonIllegalVersion=warn", when invoking Maven

Bugs Fixed in this Release

See Bugzilla report Bugs Fixed in CDT 9.6

Copyright © Eclipse Foundation, Inc. All Rights Reserved.