<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2007,2009 This page is made available under license. For full details, see the LEGAL section in the documentation that contains this page.">

<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="STYLESHEET" href="../book.css"  type="text/css">
<style>
td {border-top: solid thin black;}
img[alt] {}
tr {vertical-align: top;}
</style>
<title>CDT 7.0 New and Noteworthy</title>
</head>
<body>
<div role="main">
<h1 id="top">CDT 7.0 - New and Noteworthy</h1>
<p>See <a href="http://wiki.eclipse.org/CDT/User/NewIn70">What's new in CDT 7.0</a> on the CDT wiki
which may contain more recent information.
</p>
<table cellpadding="10" cellspacing="0" width="600">
	<colgroup>
		<col width="20%">
		<col width="80%">
	</colgroup>
	<tbody>
		<p><!-- ******************** Editor ********************** -->
		<tr>
			<td colspan="2"><a name="Editor"></a>
				<div class="title">Editor</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Sort Lines</span></p>
			</td>
				<td>The new <strong>Sort Lines</strong> command that sorts selected lines alphabetically.
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Surround with</span></p>
			</td>
			<td>
				<p><img src="../images/70/CDT70_Surroundwith.png" alt="Surround with"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Templates View support</span></p>
			</td>
			<td>Added Templates View support.
				<p><img src="../images/70/CDT70_Templates.png" alt="Templates View"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Outline View Groupings</span></p>
			</td>
			<td>Option to group macro definitions in the Outline view.
				<p><img src="../images/70/CDT70_Outlinegroupmacros.png" alt="Outline View Groupings"></img></p>
				<p>&nbsp;</p>
			</td>
		</tr>

		<!-- ******************** Codan ********************** -->
		<tr>
			<td colspan="2"><a name="Editor"></a>
				<div class="title">Codan</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Code Analysis</span></p>
			</td>
			<td>New code analysis framework is introduced, called Codan. See this
			  <a href="http://wiki.eclipse.org/CDT/designs/StaticAnalysis">wiki</a> for details.
				<p><img src="../images/70/CDT70_Codan.png" alt="Codan"></img></p>
				<p>&nbsp;</p>
			</td>
		</tr>

		<!-- ******************** Refactoring ********************** -->
		<tr>
			<td colspan="2"><a name="Refactoring"></a>
				<div class="title">Refactoring</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Getters and setters</span></p>
			</td>
			<td>Choice where to place getters and setters during refactoring.
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Refactoring History</span></p>
			</td>
			<td>Introduced <strong>Refactoring History</strong> for the CDT Refactorings
				<p><img src="../images/70/CDT70_Refactoringhistory.png" alt="Getters and setters"></img></p>
				<p>&nbsp;</p>
			</td>
		</tr>

		<!-- ******************** Build ********************** -->
		<tr>
			<td colspan="2"><a name="Build"></a>
				<div class="title">Build</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Edit While Building</span></p>
			</td>
			<td>Allow saving files while external Makefile builds are in progress
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Console Error Highlighting</span></p>
			</td>
			<td>Compiler errors and warnings are now highlighted in the build console.
			  Navigation from errors in build console to location in editor is possible
			  with double-click on the highlighted line.
				<p><img src="../images/70/CDT70_ConsoleProblemHighlighting.png" alt="Console Error Highlighting"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Regex Error Parser</span></p>
			</td>
			<td>Regular Expression Error Parser introduced. The parser is user-configurable and can be used
			  to parse errors from non-standard compilers
				<p><img src="../images/70/CDT70_RegexErrorParser.png" alt="Regex Error Parser"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Save Log</span></p>
			</td>
			<td>Added ability to save build log to a file
				<p><img src="../images/70/CDT70_SaveLog.png" alt="Save Log"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Run Last Target</span></p>
			</td>
			<td>New keyboard bindings <Q>Run Last Make Target</Q> F9/Shift-F9
				<p><img src="../images/70/CDT70_LastMakeTarget.png" alt="Run Last Target"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Project Context Menu</span></p>
			</td>
			<td>Organized project context menu related to build.
				<p><img src="../images/70/CDT70_ProjectContextMenu.png" alt="Project Context Menu"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Build Selected Configurations</span></p>
			</td>
			<td>Reworked <Q>Build Selected Configurations</Q> dialog.
				<p><img src="../images/70/CDT70_BuildSelected.png" alt="Build Selected Configurations"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Build Preferences</span></p>
			</td>
			<td>Organized build preferences under <strong>Build</strong> page.
				<p><img src="../images/70/CDT70_BuildPreferences.png" alt="Build Preferences"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">New Icons</span></p>
			</td>
			<td>New icons and decorations.
				<p><img src="../images/70/CDT70_NewIcons70.png" alt="New Icons"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Import Includes</span></p>
			</td>
			<td>Import/Export in Includes and Symbols tabs on the Paths and Symbols project properties.
				<p><img src="../images/70/CDT70_ImportIncludes.png" alt="Import Includes"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">MinGW and Cygwin</span></p>
			</td>
			<td>Better algorithms to recognize MinGW and Cygwin toolchains, see 
			  <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=303900">bug 303900 (Cygwin 1.7)</a> and
			  <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=195572">bug 195572 (MINGW)</a> for details.
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Hello World</span></p>
			</td>
			<td>When a Hello World project is created, open generated file automatically.
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Headless Builder</span></p>
			</td>
			<td>Headless Builder has been improved: supports configuration selection,
			  returns error code if built projects have error markers.
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">GCC options</span></p>
			</td>
			<td>ManagedBuild GCC toolchain supports pre included header files, i.e. <strong>-include</strong> switch to gcc
			</td>
		</tr>


		<!-- ******************** Project/Configuration References ********************** -->
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">References</span></p>
			</td>
			<td>
				<ul>
					<li>CDT Project References can be ordered. Referenced paths and symbols automatically track this order.</li>
					<li>References to library projects are automatically linked in.</li>
					<li>A configuration can reference another configuration in the same project.</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">UPC</span></p>
			</td>
			<td>
				<ul>
					<li>New UPC project wizard supports the Berkeley UPC toolchain.</li>
				</ul>
				<p>&nbsp;</p>
			</td>
		</tr>

		<!-- ******************** Debug ********************** -->
		<tr>
			<td colspan="2"><a name="Debug"></a>
				<div class="title">Debug</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Non-Stop</span></p>
			</td>
			<td>Support for <strong>Non-Stop Debugging</strong> (stopping one or more threads while the others continue to execute).
			  Requires GDB 7.0 or newer.
				<p><img src="../images/70/CDT70_NonStopDebugging.png" alt="Non-Stop debugging"></img></p>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Features</span></p>
			</td>
			<td>
				<ul>
				<li><strong>DSF-GDB</strong>. The default debugger for the CDT is now using a different debugging framework and is called DSF-GDB.
				  It provides better support for newer GDB versions, such as 6.7, 6.8 and 7.x, for older versions you would
				  have to edit preferences to use the old framework (CDI) by default.  See full list of DSF-GDB features
				  <a href="http://www.eclipse.org/dsdp/dd/development/relnotes/dd_news-1.1.html">here</a>.
				</li>
				<li><strong>GDB Tracepoints</strong> are now supported. See the
				  <a href="http://wiki.eclipse.org/CDT/designs/Tracepoints">wiki page</a>. Available in DSF-GDB only.
				</li>
				<li><strong>Reverse Debugging</strong> which allows to undo execution.
				  Requires GDB 7.0 or newer and only available on Linux. Available in DSF-GDB only. 
				  A webinar on the topic is available <a href="http://live.eclipse.org/node/723">here</a>.
				</li>
				<li><strong>Run To Line</strong> feature now allows to run to any line in the program, instead of only lines within the same method.
				</li>
				<li><strong>Pretty Printing</strong> feature of GDB is supported. Requires GDB 7.0 or newer as well as python, and GDB's python pretty-printers.
				  Some information available <a href="http://sourceware.org/gdb/wiki/STLSupport">here</a>.
				</li>
				<li><strong>Interrupts on Windows</strong> platform while debugging application got improved support.
				</li>
				</ul>
				<p>&nbsp;</p>
			</td>
		</tr>

		<!-- ******************** Bugs fixed ********************** -->
		<tr>
			<td colspan="2"><a name="bugs70"></a>
			<div class="title">Bugs Fixed</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Fixed</span></p>
			</td>
			<td>All Bugzilla tasks closed in this release: 
				<a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;resolution=FIXED;target_milestone=6.1;target_milestone=7.0;product=CDT;classification=Tools">
				  CDT 7.0 bug fixes
				</a>
				<p>&nbsp;</p>
			</td>
		</tr>

		<!-- ******************** Known Limitations ********************** -->
		<tr>
			<td colspan="2"><a name="bugs70"></a>
			<div class="title">Known Limitations</div>
			</td>
		</tr>
		<tr>
			<td>
				<p style="text-align:right"><span class="bold">Limitations</span></p>
			</td>
			<td>Cannot run or debug class in a project with GB18030 characters in workspace/project name.
			  Most class libraries do not properly support the creation of a system process (via java.lang.Runtime.exec(...))
			  when the specified command line contains GB18030 characters. This limitation means the scanner
			  discovery mechanism and debugger cannot launch applications when the command line it generates
			  contains GB18030 characters. Details in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=308803">Bug 308803</a>
			</td>
		</tr>
		
	</tbody>
</table>

<p>To learn what's new in CDT releases see:</p>
<p><a href="cdt_c_whatsnew.htm">CDT - New and Noteworthy</a></p>
<p><a href="cdt_c_whatsnew_81.htm">CDT 8.1 - New and Noteworthy</a></p>
<p><a href="cdt_c_whatsnew_80.htm">CDT 8.0 - New and Noteworthy</a></p>
<p><a href="cdt_c_whatsnew_70.htm">CDT 7.0 - New and Noteworthy</a></p>
<p><a href="cdt_c_whatsnew_60.htm">CDT 6.0 - New and Noteworthy</a></p>
<p><a href="http://wiki.eclipse.org/CDT/User/NewIn50">CDT 5.0 - New and Noteworthy</a></p>

<p><a href="#top">Back to Top</a>

<p>&nbsp;</p>
</div>
</body>
</html>

