CDT 6.0 - New and Noteworthy

Note: "New and Noteworthy" for previous versions is at the bottom of this file.

See What's new in CDT 6.0 on the CDT wiki; may contain other information.

Editor

Rename in File

To make rename refactoring work interactively in the editor, position the cursor on an identifier in the editor and hit Ctrl-1 (the hotfix key). Choose "Rename in file." Changing an identifier simultaneously changes all other references to that identifier.

Rename in File

Refactoring

"Extract local variable" is added via editor context menu. Select an expression in the editor and select Refactor > Extract local variable from the context menu.

refactor

refactoring context menu highlighting 'extract local variable'

Give the new local variable a name

refactor

A local variable is created from the expression and its use is inserted in the original expression.

refactor

Add Include

Add Include significantly improved.
  • CDT can infer the header file of a function or class from its use and automatically insert the appropriate #include directive. For example create a file with a main method and a call to printf. Right click on the call to printf and select Source > Add Include. CDT will infer that printf is defined in the cstdio header and automatically insert the #include directive for that header.
    • This feature works much better in CDT 6.0.

Outline View

  • Inactive code is shown in Outline View. The CDT parser can now detect top-level declarations within inactive code blocks and display them in the outline view. Inactive declarations appear slightly greyed out and the icon has a slash through it.

    Inactive code in Outline View

     

  • Grouping of method definitions in the Outline view.

    The outline view is now capable of displaying class members defined outside the class in the same way it displays members defined inside the class.

    This feature can be turned on/off in the preferences.

    Grouping of method definitions in the Outline view

     

    Method definitions grouping preference

     

Macro Exploration

Improved Macro Exploration control.
  • The Macro Expansion hover now has a toolbar at the bottom of the control with back, forward and open declaration buttons.
  • The title bar of the Macro Expansion hover is now draggable.

    Macro Expansion hover toolbar

Block selection mode

Block selection mode now works in the CDT editor.

Block selection mode in editor

C style block commenting

C style block commenting (Ctrl-Shift-/) improved
Indexing

Implicit references and overloaded operators

Index support for implicit references and overloaded operators:
  • The indexer now picks up references for uses of overloaded operators.
  • The editor now has full support for overloaded operators including semantic highlighting, mark occurrences and open declaration.

    Overloaded operators support in editor

     

  • A category has been added to the syntax highlighting options for overloaded operators.

    Overloaded operators syntax color option in preference

     

  • It is now possible to search for references to overloaded operators.

    Overloaded operators in search results

     

  • Uses of overloaded operators now show up in the call hierarchy view.

    Overloaded operators in call hierarchy view

     

  • The indexer is picking up more information to support this feature, therefore indexing time may be longer and the size of the index file will be larger. For this reason the indexer options page provides the option to turn off the collection of implicit references.

    Skip implicit references option in indexer preference

     

System Includes

  • Heuristics to pick up otherwise unresolved include files from the project

    In older versions of CDT the user was forced to manually set up all include paths that were not discovered by the build system. Now CDT is capable of automatically finding any header file that is located within the project without manual setup.

    (See Bug 213562)

     

Indexer Accuracy

  • Rework of template instantiation

    There have been significant improvements to the CDT editor for supporting C++ templates. Content assist now works much better within code that makes heavy use of templates.

     

  • There have been numerous improvements to the performance and accuracy of the CDT parser and indexer.
Navigation and Search

Open Declaration

Open Declaration (F3) improved, particularly for unresolved symbols.

Open Declaration is capable of detecting potential matches.

Improved open declaration for unresolved symbols

It is now possible to navigate from a delete statement to the destructor method that is implicitly called.

Delete statement navigation

Project and Build

Converters

  • Added a converter to convert a general project to a Managed make project
  • Fixes to Makefile converter

Working Sets

  • Complete overhaul of the user interface for Working Set Configurations:
    • Updated Manage Working Set Configurations dialog for simpler workflows
    • Quick access to configurations via a property page for Working Sets

      New working set configuration dialog

       

    • Context menu actions on Working Sets in the Project Explorer for activating and building configurations

      Activating and building working set configurations through context menu

    • For more details, see the working sets design document

Make Targets View

  • Icons, menu and dialogs have been enhanced. Build action uses hammer icon for consistency with project build icon in editor toolbar.

    Make Targets View

     

  • Drag and Drop of Make Targets in Make Targets View. It is possible to copy/paste, drag files from Project Explorer to the view, or Make Targets to external editor, various options available.

    Drag and Drop enabled in Make Targets View

     

Error and Problem management

ErrorParserManager has been significantly simplified and improved. See bug 264715 and its subtasks.
  • Uses a much more accurate algorithm for associating errors/warnings from build output with files in the workspace.
  • Other C/C++ projects from the workspace are considered when looking for files.
  • RSE EFS projects and EFS resources are supported.
  • Improved performance.

More accurate algorithm for associating errors/warnings from build output with files in the workspace

In the Problems View, external file locations (outside of the workspace) have been moved to the Location column and associated with "Open External Location" menu.

Open External Location from context menu in Problems View

  • Remote Project Support
    • New ICommandLauncher interface supports overriding how build commands are launched.
    • EFS resources now supported with Managed Build.
  • XL C/C++ Compiler Support
    • The XL C/C++ Error Parser has been modernized. It can handle compiler errors/warnings better and now also xlC linker warnings.
    • XL C/C++ v10.1 option support in Managed Build
    • XL UPC compiler support added.
  • Headless Build You can now Import and Build CDT Projects without starting the IDE.
Debug and Launch

DSF Integration

DSF (Eclipse Debugger Services Framework) integrated. See DSF features for more information.

Launch Group

New "Launch Group" launch configuration. Allows to launch several processes at once.

Debug launch group

Bugs fixed

Bugs fixed

Bugs fixed in this release: CDT 6.0 bug fixes

Back to Top

CDT 5.0 - New and Noteworthy

CDT 5.0 includes new features in Editor, Call Hierarchy, Refactoring, Indexer, Projects & Build, and Debug.

See What's New in CDT 5.0 on the CDT Wiki for more information including screen shots.

Highlights include:

Editor

Navigation and Search

Call Hierarchy

Refactoring

Indexer

Projects and Build

Debug

Back to Top

 

To learn what's new in CDT releases see:

CDT - New and Noteworthy

CDT 8.2 - New and Noteworthy

CDT 8.1 - New and Noteworthy

CDT 8.0 - New and Noteworthy

CDT 7.0 - New and Noteworthy

CDT 6.0 - New and Noteworthy

CDT 5.0 - New and Noteworthy