Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "CDT/User/NewIn96"

< CDT
(API modifications)
m
 
(13 intermediate revisions by 4 users not shown)
Line 15: Line 15:
 
----
 
----
 
This is the New & Noteworthy page for CDT 9.6 which will be part of Eclipse 2018-12 Release in December 2018.
 
This is the New & Noteworthy page for CDT 9.6 which will be part of Eclipse 2018-12 Release in December 2018.
 +
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=542644#c22 Bug 542644] for further details.
 +
|}
 +
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | EPL v2
 +
| CDT is now released under the Eclipse Public License v2 ([http://eclip.se/540371 bug 540371)].
 +
|}
 +
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | 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 ([http://eclip.se/540373 bug 540373)].
 +
|}
 
----
 
----
  
 +
<!--
 
= Editor =
 
= Editor =
 
----
 
----
 
----
 
----
  
 +
-->
 +
 +
= Refactoring =
 +
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | 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 [http://eclip.se/537176 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.
 +
 +
[[File:CDTNavigatorRightClickMenu.png]]
 +
 +
 +
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.
 +
 +
[[File:CDTFileRenameDialog.png]]
 +
|}
 +
----
 +
 +
 +
 +
<!--
 
= Code Analysis =
 
= Code Analysis =
 
----
 
----
Line 32: Line 74:
 
----
 
----
 
----
 
----
----
+
 
 +
-->
  
 
= Build  =
 
= Build  =
 
----
 
----
----
+
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | 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 [http://eclip.se/407405 bug 407405)].
 +
|}
 
----
 
----
  
 
= Debug =
 
= Debug =
 +
----
 
{| style="width: 100%;"
 
{| style="width: 100%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
Line 56: Line 104:
  
 
|}
 
|}
 
= API modifications =
 
 
----
 
----
 
{| style="width: 100%;"
 
{| style="width: 100%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
! style="width: 30%; text-align:left;" | org.eclipse.cdt.ui
+
! style="width: 30%; text-align:left;" | 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 [http://eclip.se/532077 bug 532077)].
# 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).
+
[[File:CDT96_Extended_call_hierarchy.png]]
+
 
|}
 
|}
 
----
 
----
  
= Bugs Fixed in this Release =
+
<!--
 +
= Launch Bar =
 
----
 
----
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=9.6.0 Bugs Fixed in CDT 9.6]
 
 
----
 
----
 +
-->
  
= Refactoring =
+
= API modifications =
 +
----
 
{| style="width: 100%;"
 
{| style="width: 100%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
! style="width: 30%; text-align:left;" | Resource renaming
+
! style="width: 30%; text-align:left;" | org.eclipse.cdt.ui
| 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 [http://eclip.se/537176 bug 537176] for details.
+
| 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).
  
The "rename" action on the menu pop-up after a right-click on a C/C++ file/folder has been overridden.
+
[[File:CDT96_Extended_call_hierarchy.png ]]
 +
|}
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | 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).
 +
|}
 +
----
  
[[File:CDTNavigatorRightClickMenu.png]]
+
= Other changes =
 
+
----
 
+
{| style="width: 100%;"
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.
+
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | 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.
 +
<br/>
 +
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
 +
|}
 +
----
  
[[File:CDTFileRenameDialog.png]]
+
= Bugs Fixed in this Release =
 
+
 
+
 
+
 
+
<!--
+
= Launch Bar =
+
 
----
 
----
 +
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=9.6.0 Bugs Fixed in CDT 9.6]
 
----
 
----
-->
 

Latest revision as of 16:22, 19 December 2018


Release


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).


Refactoring


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.

CDTNavigatorRightClickMenu.png


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.

CDTFileRenameDialog.png




Build


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).

Debug


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


Back to the top