Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 09577af1449d64e843849676ada72bfc0c2dd33d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
<!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 6.0 New and Noteworthy</title>
</head>
<body>
<div role="main">
<h1 id="top">CDT 6.0 - New and Noteworthy</h1>
<p>Note: "New and Noteworthy" for <a href="#5.0">previous versions</a> is at the bottom of this file.</p>
<p>See <a href="http://wiki.eclipse.org/CDT/User/NewIn60">What's new in CDT 6.0</a> on the CDT wiki;
may contain other 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">Rename in File</span></p>
			</td>
			<td>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.
			<p><img src="../images/60/RenameInFile.png" alt="Rename in File">
			</td>
		</tr>

		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Refactoring</span></p>
			</td>
			<td>"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.  
			<p><img src="../images/60/refactor_before.png" alt="refactor"></p>
			 <p><img src="../images/60/refactorExtractLocalVar.png" alt="refactoring context menu highlighting 'extract local variable'">   
			<p>Give the new local variable a name</p>
			<p><p><img src="../images/60/refactor_varname.png" alt="refactor"></p></p>
			A local variable is created from the expression and its
			use is inserted in the original expression.
			<p><img src="../images/60/refactor_after.png" alt="refactor"></p>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Add Include </span></p>
			</td>
			<td>Add Include significantly improved.
			<ul>
				<li>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 &gt; Add Include. CDT will infer that printf is defined in the cstdio header and
				automatically insert the #include directive for that header.
				<ul>
					<li>This feature works much better in CDT 6.0.</li>
				</ul>
				</li>
			</ul>

			<!-- <p><img src="../images/60/image.png" alt="alternate text for image for accessibility">   -->
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Outline View</span></p>
			</td>
			<td>
			<ul>
				<li>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.
				<p><img src="../images/60/CDT6.0_inactive_code_outline.png" alt="Inactive code in Outline View">
				<p>&nbsp;</p>
				</li>
				<li>Grouping of method definitions in the Outline view.
				<p></p>
				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.
				<p></p>
				This feature can be turned on/off in the preferences.
				<p><img src="../images/60/CDT6.0_outline_group_methods2.png" alt="Grouping of method definitions in the Outline view">
				<p>&nbsp;</p>
				<p><img src="../images/60/CDT6.0_group_methods_prefernce2.png" alt="Method definitions grouping preference">
				<p>&nbsp;</p>
				</li>
			</ul>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold"> Macro Exploration </span></p>
			</td>
			<td>Improved Macro Exploration control.
			<ul>
				<li>The Macro Expansion hover now has a toolbar at the bottom of the control with back, forward and open
				declaration buttons.</li>
				<li>The title bar of the Macro Expansion hover is now draggable.
				<p><img src="../images/60/CDT6.0_macro_hover.png" alt="Macro Expansion hover toolbar"></p></li>
			</ul>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Block selection mode </span></p>
			</td>
			<td>Block selection mode now works in the CDT editor.
			<p><img src="../images/60/CDT6.0_block_mode.png" alt="Block selection mode in editor">
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">C style block commenting</span></p>
			</td>
			<td>C style block commenting (Ctrl-Shift-/) improved
			<!--  <p><img src="../images/60/image.png" alt="alternate text for image for accessibility">     -->
			</td>
		</tr>

		<!-- ******************** Indexing ********************** -->
		<tr>
			<td colspan="2"><a name="Indexing"></a>
			<div class="title">Indexing</div>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Implicit references and overloaded operators</span></p>
			</td>
			<td>
			<p></p>
			Index support for implicit references and overloaded operators:
			<ul>
				<li>The indexer now picks up references for uses of overloaded operators.</li>
				<li>The editor now has full support for overloaded operators including semantic highlighting, mark occurrences
				and open declaration.
				<p><img src="../images/60/CDT6.0_OO_editor.png" alt="Overloaded operators support in editor">
				<p>&nbsp;</p>
				</li>
				<li>A category has been added to the syntax highlighting options for overloaded operators.
				<p><img src="../images/60/CDT6.0_OO_syntax_preferences.png" alt="Overloaded operators syntax color option in preference">
				<p>&nbsp;</p>
				</li>
				<li>It is now possible to search for references to overloaded operators.
				<p><img src="../images/60/CDT6.0_OO_search.png" alt="Overloaded operators in search results">
				<p>&nbsp;</p>
				</li>
				<li>Uses of overloaded operators now show up in the call hierarchy view.
				<p><img src="../images/60/CDT6.0_OO_callh2.png" alt="Overloaded operators in call hierarchy view">
				<p>&nbsp;</p>
				</li>
				<li>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.
				<p><img src="../images/60/CDT6.0_OO_indexer_preferences.png" alt="Skip implicit references option in indexer preference">
				<p>&nbsp;</p>
				</li>
			</ul>
			</td>
		</tr>
		<tr>
		<td>
			<p style="text-align:right"><span class="bold">System Includes</span></p>
			</td>
			 
		 
			<td>
			<ul>
				<li>Heuristics to pick up otherwise unresolved include files from the project
				<p>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.
				<p>(See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=213562">Bug 213562</a>)</p>
				<p>&nbsp;</p>
				</li>
				</ul>
				</td>
				</tr>
		
		<td>
			<p style="text-align:right"><span class="bold">Indexer Accuracy</span></p>
			</td>
			<td>
			<ul>
			<li>Rework of template instantiation
				<p>
				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.</p>
				<p>&nbsp;</p>
				 <li>
				There have been numerous improvements to the performance and accuracy of the CDT parser and indexer.</li>
			</ul>
			</td>
		</tr>
		<!-- ******************** Navigation and Search ********************** -->
		<tr>
			<td colspan="2"><a name="navAndSearch"></a>
			<div class="title">Navigation and Search</div>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Open Declaration</span></p>
			</td>
			<td>Open Declaration (F3) improved, particularly for unresolved symbols.
			<p>Open Declaration is capable of detecting potential matches.</p>
			<p><img src="../images/60/CDT6.0_open_declaration.png" alt="Improved open declaration for unresolved symbols">
			<p>It is now possible to navigate from a delete statement to the destructor method that is implicitly called.</p>
			<p><img src="../images/60/CDT_6.0_delete.png" alt="Delete statement navigation">
			</td>
		</tr>

		<!-- ******************** Project and Build ********************** -->
		<tr>
			<td colspan="2"><a name="projAndBuild"></a>
			<div class="title">Project and Build</div>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Converters</span></p>
			</td>
			<td>
			<ul>
				<li>Added a converter to convert a general project to a Managed make project</li>
				<li>Fixes to Makefile converter</li>
			</ul>
			</td>
		</tr>

		<tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Working Sets</span></p>
			</td>
			<td>
			<ul>
				<li>Complete overhaul of the user interface for Working Set Configurations:
				<ul>
					<li>Updated Manage Working Set Configurations dialog for simpler workflows</li>
					<li>Quick access to configurations via a property page for Working Sets
					<br></br><img src="../images/60/New_cdtwsconfig_wsProperties.png" alt="New working set configuration dialog">
					<p>&nbsp;</p>
					
					</li>
					<li>Context menu actions on Working Sets in the Project Explorer for activating and building configurations
					<p><img src="../images/60/New_cdtwsconfig_wsContextMenu.png" alt="Activating and building working set configurations through context menu"></p>
					
					</li>
					<li>For more details, see the <a href="http://wiki.eclipse.org/CDT/designs/workingSets">working sets
					design document</a></li>
				</ul></li>
			</ul>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Make Targets View</span></p>
			</td>
			<td>
			<ul>
				<li>Icons, menu and dialogs have been enhanced. Build action uses hammer icon for consistency with project
				build icon in editor toolbar.
				<p><img src="../images/60/MTV.png" alt="Make Targets View">
				<p>&nbsp;</p>
				</p>
				</li>
				<li>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.
				<p><img src="../images/60/MTV-DND.png" alt="Drag and Drop enabled in Make Targets View">
				<p>&nbsp;</p>
				</p>
				</li>
			</ul>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Error and Problem management</span></p>
			</td>
			<td>ErrorParserManager has been significantly simplified and improved. See <a
				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=264715">bug 264715 </a>and its subtasks.
			<ul>
				<li>Uses a much more accurate algorithm for associating errors/warnings from build output with files in the
				workspace.</li>
				<li>Other C/C++ projects from the workspace are considered when looking for files.</li>
				<li>RSE EFS projects and EFS resources are supported.</li>
				<li>Improved performance.</li>
			</ul>
			<p><img src="../images/60/EPM-multi.png" alt="More accurate algorithm for associating errors/warnings from build output with files in the workspace">
			<p>In the <strong>Problems View</strong>, external file locations (outside of the workspace) have been moved to the Location
			column and associated with "Open External Location" menu.
			<p><img src="../images/60/PV-extloc.png" alt="Open External Location from context menu in Problems View">
			<ul>
				<li>Remote Project Support
				<ul>
					<li>New <strong>ICommandLauncher interface</strong> supports overriding how build commands are launched.</li>
					<li><strong>EFS resources</strong> now supported with Managed Build.</li>
				</ul>
				</li>
				<li>XL C/C++ Compiler Support
				<ul>
					<li>The <strong>XL C/C++ Error Parser</strong> has been modernized. It can handle compiler errors/warnings better and
					now also xlC linker warnings.</li>
					<li><strong>XL C/C++ v10.1 option support</strong> in Managed Build</li>
					<li><strong>XL UPC compiler</strong> support added.</li>
				</ul>
				</li>
				<li><strong>Headless Build</strong> You can now Import and Build CDT Projects without starting the IDE.</li>
			</ul>

			</td>
		</tr>

		<!-- ******************** Debug and Launch ********************** -->
		<tr>
			<td colspan="2"><a name="debugAndLaunch"></a>
			<div class="title">Debug and Launch</div>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">DSF Integration</span></p>
			</td>
			<td>DSF (Eclipse Debugger Services Framework) integrated. See <a
				href="http://www.eclipse.org/dsdp/dd/development/relnotes/dd_news-1.1.html">DSF features</a> for more information.</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Launch Group</span></p>
			</td>
			<td>
			<p>New "Launch Group" launch configuration. Allows to launch several processes at once.</p>
			<p><img src="../images/60/Run_debug_launch_group.png" alt="Debug launch group">
			</td>
		</tr>
				<!-- ******************** Bugs fixed ********************** -->
		<tr>
			<td colspan="2"><a name="bugs60"></a>
			<div class="title">Bugs fixed</div>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">Bugs fixed</span></p>
			</td>
			<td>Bugs fixed in this release: 
			<a href="http://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=CDT&target_milestone=6.0&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&resolution=FIXED&emailtype1=exact&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">
			CDT 6.0 bug fixes</a>
		
			</td>
		</tr>
		
		<!-- ******************** NewTopic ********************** -->
		<!-- 
		<tr>
			<td colspan="2"><a name="NewTopic"></a>
			<div class="title">Newtopic</div>
			</td>
		</tr>
		<tr>
			<td>
			<p style="text-align:right"><span class="bold">texthere</span></p>
			</td>
			<td>text here.
			<p><img src="../images/image.png" alt="alternate text for image for accessibility">
			</td>
		</tr>
		 -->
	</tbody>
</table>
<p><a href="#top">Back to Top</a> <!-- ******************** CDT 5.0 info ********************** -->
<h1 id="5.0">CDT 5.0 - New and Noteworthy</h1>
<p>CDT 5.0 includes new features in Editor, Call Hierarchy, 
Refactoring, Indexer, Projects &amp; Build, and Debug.
<p>
See <a href="http://wiki.eclipse.org/CDT/User/NewIn50">What's New in CDT 5.0</a> on the CDT Wiki for more information including screen shots.

<p>Highlights include:

<h2>Editor</h2>
<ul>
<li>Code and File Templates - user-definable templates can be used in New Class and New Source/Header File wizards.
<li>New preference page for Code Templates
<li>Outline view for assembly files
<li>Code formatter improvements including new whitespace and line wrapping options, Improved GNU coding style compliance
<li>Content assist improvements 
<li>Doxygen editor support - auto-generation of tags and a pluggable framework for other documentation tools is now available.
<li>Mark Occurrences - highlights where the selected identifier occurs elsewhere in the editor
<li>Folding of compound statements
<li>Macro Expansion hover and exploration tool
<li>Spell checking available and enabled by default
<li>Scalability mode for working with very large files.
<li>Visual Studio key bindings

</ul>
<h2>Navigation and Search</h2>
<ul>
<li>Open Declaration for operators, empty macros, element in outline view, etc
<li>Open Element support for static functions/variables, other improvements
<li>Search - for Static functions/variables, macros, references of local variables, Search view usability improvements
</ul>
<h2>Call Hierarchy</h2>
<ul>
<li>Read/write decorators indicate read/write status for variables
<li>Polymorphic method calls (virtual methods) support
</ul>
<h2>Refactoring</h2>
<ul>
<li>Refactoring infrastructure much improved, models transformation on the AST
<li>Generate Getters and Setters
<li>Hide Method
<li>Implement Method
<li>Extract Constant
<li>Extract Function
</ul>
<h2>Indexer</h2>
<ul>
<li>Improved accuracy and performance
<li>Entirely new preprocessor
<li>Improved infrastructure
<li>Visual indication of indexer status
</ul>
<h2>Projects and Build</h2>
<ul>
<li>Project Properties improved usability
<li>Make target locations - make targets at the project level are built in the project build directory
</ul>
<h2>Debug</h2>
<ul>
<li>Executables view
<li>Event breakpoints - added gdb catchpoints support
</ul>
<p><a href="#top">Back to Top</a>
<p>&nbsp;</p>

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

 </div>
</body>
</html>

Back to the top