Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
CDT/User/NewIn94
Contents
Release
This is the New & Noteworthy page for CDT 9.4 which will be part of Eclipse Oxygen.2
Editor
Open Declaration on |
Open Declaration on a |
---|
Code Analysis
A new quick fix was added for suppressing a problem by adding a suppression comment (bug 495842). |
---|
Formatter
Command line code formatter | It is now possible to format source code without starting the Eclipse UI using the new headless formatter application. The command line formatter works as a standard Eclipse application.
eclipse -nosplash -application org.eclipse.cdt.core.CodeFormatter -consoleLog \ -verbose -config .settings/org.eclipse.cdt.core.prefs src/ See Using the Formatter Application and bug 520340 for details. |
---|
Parser
Build
Headless Build | Headless build has three new command line arguments:
See (bug 520163). |
---|---|
Core Build System | The CDT Core Build System continues to advance.
Support for Autotools projects has been added as an experimental feature. Support for Makefile projects has been added. The old Include Paths and Symbols project preference page is added to these projects to allow manually adding this information to improve indexer performance. A Toolchains preference page has been added. Its currently appears under the CMake preference page to avoid confusion with managed build preferences. It can be used for Makefile projects as well. This page allows users to control the preference order of toolchains for the auto creation of build configurations. It also allows users to manually add toolchains based on a toolchain type. Currently GCC and clang are supported. |
Core Build Targets | To support auto selection of target types without having to have a full target integration, the Generic Target type is added. It allows users to manually create targets and set the os and cpu architecture to direct toolchain selection. It also allows for executing any command at launch time using UI borrowed from the External Tools launches.
By extending Generic Targets, support is added for launching over serial. This is frequently used when working with microcontrollers and launch involves writing an image to flash over the serial port. Co-ordination is provided for the serial port to allow concurrent use with the Terminal View. |
Container Build | Support has been added to allow building a CDT project in a Docker Container.
With the CDT Docker Launcher feature installed, a user can opt to build a Managed project in a Docker Container. This includes Autotools projects, Managed Make projects, and Standard Make projects that aren't using the new CDT Core Build System. The feature adds an additional Container Settings tab to the the C/C++ Build Settings which allows enablement for the current Managed Build Configuration as well as specifying what Docker Connection to use and what Docker Image to build the Container from. By default, the project folder, any related project's folders, and the working directory are all automatically mounted from the host system into the Docker Container during build. If additional host directories are required, the new Container Settings tab allows specifying such folders (e.g. a local directory that contains configuration files that isn't part of the CDT project). When the project is built, the build will occur in a Docker Container using the Docker Image specified. The Docker Image must be prepared with all tools needed for the particular project (e.g. gcc, make, autotools installed). If debugging is desired, gdbserver needs to be pre-installed on the Docker Image as well. All files created or modified within the mounted directories are accessible once the build is over and the binary executable can later be run or debugged in a Docker Container using the "Run as C/C++ Container Executable" and/or "Debug as C/C++ Container Executable" actions from the context menu. Header files calculated from the build are copied to the host and are used to index the project as if run in the Docker Container. These headers can be removed later if desired via Preferences. |
Debug
External Console | You can now debug a program with an external console window easily in CDT on Windows. This prevents GDB mixing its input/output with the program being debugged. CDT launches the new console by telling GDB with "set new-console on". This is a Windows only feature as only Windows has support for "set new-console on".
You can set whether to use an external console window in the launch configuration: You can set the default value for any newly created launch configurations in the preferences: See (bug 520580). |
---|
API modifications
org.eclipse.cdt.debug.gdbjtag.ui |
|
---|
Bugs Fixed in this Release
See Bugzilla report Bugs Fixed in CDT 9.4
Launch Bar
The CDT 9.4 release include the Launch Bar 2.2.0 minor release.
The main feature in this release is clean up of the New Launch Config wizard so that the launch mode and launch configuration types appear on the same page. This simplifies the UX by showing the user why selecting the Mode is important, i.e. it changes the list of available types that support that mode.
Additionally we've added a new way of specifying New Launch Target wizards so that the wizard can be also used to edit the target.
And finally, we've added a mechanism for adding Build Settings tabs to the Descriptor editor.