# What's new in the CDT? |

What's New in 2.0

### Enhanced Performance

Builds can now be performed in the background.

Searches can now be performed in the background.

### Automatic Project Settings Discovery

Automatically generate project defines and include paths settings from the C/C++ > New Make Projects > Discovery Options project settings.

### C/C++ File Types

Define specific files, especially C++ headers without extensions, using the C/C++ File Types global preferences or project property.

### Multiple Architecture Project Support

Building from multiple binary formats? Choose the appropriate formats using the Binary Parser project option.

### Editor Hyperlink Naviagation

Enable the editor hyperlink navigation and then you can use Ctrl+click to jump to the declaration of an item on the C/C++ editor.

### Indexer Error Markers

Enable C/C++ indexing and indexer error reporting in the C/C++ Indexer properties. This helps identify projects missing path configuration information.

### Rename Refactoring Support

Use the Outline or the C/C++ Editor Refactor > Rename context menu to refactor class & type names, methods, function & member names.

### Open Type

Use Open Type to open up the declaration of C/C++ classes, structures, unions, typedefs, enumerations and namespaces.

### Automatic Refresh

Configure the default behavior of the automatic retrieval of shared library and register information in the C/C++ debugger.

### Improved Managed Make

You can now set the compiler command for managed projects.

### Improved Standard Make

Standard Make now parses response from Make command to populate paths and symbols.

### Support for GNU

Now supports some of the GNU extensions to the ANSI specification.

### Improved View and Browsing Features

You can now open Include files from the Outline View.

You can now perform selection searches from the C/C++ Editor

### Improved Search

Search now supports external files referenced using `#include`.

### Makefile Outline View

You can now browse the structure of your Makefile in Outline View.

### Content Assist Enhancements

Content Assist now produces proposals from classes and structure members, local & global variables, pre-processor defines, pre-processor commands.

Content Assist now supports C++.

What's New in 1.2

Find out what's new in CDT 1.2.

## C/C++ Search

You can search the projects in your workspace for references to, declarations or definitions of, particular elements. Only header files referenced by a source file in your workspace are included in a search.

## Build

### Managed build

You can now create a Managed build and have makefiles generated for you.

### Error parser

The error parsers are now extension-points that can contributed by other plug-ins. The error parsers are used to detect errors or warnings or informational messages from compilers, linkers, etc... during a build.

### New Global preferences for all Standard Make Project properties

#### Make builder options

Support changing/enabling default make targets for each workbench build type. New default build location setting.

#### Make project options

You can now make changes the Error Parser Configuration. You can change the order in which error parsers are applied or disable them entirely.

You can also specify which paths to include during a Make and customize preprocessor symbols to ensure proper indexing and search capabilities.

Notes:
There are a number of "build error parsers" (the things that turn compiler error messages into objects that we can put into the error lists). If one parser cannot figure out what the message means, then the system moves to the next one in the list.

#### Make target

Make targets now support Stop on error build option and ability to change the default build command.

#### New Standard Make projects

Old Standard Make projects will be automatically updated to support the new options. If update is declined, then selecting Update Old Make project... from the context menu of the project will update the project to a new Standard Make project.

## Debug

### Formatting of variables and expressions

You can now select the number system (natural, decimal, hexadecimal) used to display variables and expressions.

### Variable view, detail pane

In the Variable view, a detail pane has been added to let you see the value of a selected variable. This is practical when looking at a string (char *).

### Casting of variables, expressions and registers

In the Variable view, a variable can be cast to a different type or be restored to its original type. Also, a pointer can be cast to an array type.

### Debug disable variable query

The value of variables are queried at every step.

This can be time-consuming on certain embedded targets. The automatic query of variables can be disabled. Manual queries are now an option.

## Source location

A new source locator in the Run/Debug dialog box makes it possible to add directories to search, mapping, and the order of the search.

### GDB/MI new shared library launch pane

For GDB/MI code, two new actions are added in the launch view, stop-on-solib and auto-load-symbols. Stop-on-solib will force the debugger to stop on any shared library events. Auto load will load the symbols for any shared library.

### GDB/MI improvements in display of arrays

Arrays are now separated into ranges, to limit the possibility of a timeout on large arrays.

## What's new for previous releases

You can keep track of previous release-specific developments in the CDT.

For more information, see http://www.eclipse.org/cdt/ > CDT Project Management/Plans. The Official CDT Plans section lists previous releases.