carbidecpp22devenv/configuration/org.eclipse.osgi/bundles/309/1/.cp/concepts/cdt_c_whatsnew.htm
changeset 5 684bf18fdedf
equal deleted inserted replaced
4:4764c8c88759 5:684bf18fdedf
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
       
     2 <html lang="en">
       
     3 <head>
       
     4 <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.">
       
     5 
       
     6 <meta http-equiv="Content-Language" content="en-us">
       
     7 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
       
     8 <link rel="STYLESHEET" href="../book.css"  type="text/css">
       
     9 <style>
       
    10 td {border-top: solid thin black;}
       
    11 img[alt] {background-color:#ffdddd;}
       
    12 tr {vertical-align: top;}
       
    13 </style>
       
    14 <title>CDT New and Noteworthy</title>
       
    15 </head>
       
    16 <body>
       
    17 
       
    18 <h1 id="top">CDT 6.0 - New and Noteworthy</h1>
       
    19 <p>Note: "New and Noteworthy" for <a href="#5.0">previous versions</a> is at the bottom of this file.</p>
       
    20 <p>See <a href="http://wiki.eclipse.org/CDT/User/NewIn60">What's new in CDT 6.0</a> on the CDT wiki;
       
    21 may contain other information.
       
    22 </p>
       
    23 
       
    24 <table cellpadding="10" cellspacing="0" width="600">
       
    25 	<colgroup>
       
    26 		<col width="20%">
       
    27 		<col width="80%">
       
    28 	</colgroup>
       
    29 	<tbody>
       
    30 		<p><!-- ******************** Editor ********************** -->
       
    31 		<tr>
       
    32 			<td colspan="2"><a name="Editor"></a>
       
    33 			<div style="font-size: 20px; font-weight: bold;">Editor</div>
       
    34 			</td>
       
    35 		</tr>
       
    36 		<tr>
       
    37 			<td>
       
    38 			<p align="right"><b>Rename in File</b></p>
       
    39 			</td>
       
    40 			<td>To make rename refactoring  work interactively in the editor,
       
    41 			position the cursor on an identifier in the editor and hit Cntl-1
       
    42 			(the hotfix key).  Choose "Rename in file."
       
    43 			Changing an identifier simultaneously changes all other references to that identifier.
       
    44 			<p><img src="../images/60/RenameInFile.png" alt="Rename in File">
       
    45 			</td>
       
    46 		</tr>
       
    47 
       
    48 		<tr>
       
    49 			<td>
       
    50 			<p align="right"><b>Refactoring</b></p>
       
    51 			</td>
       
    52 			<td>"Extract local variable" is added via editor context menu.  
       
    53 			Select an expression in the editor and select Refactor > Extract local variable
       
    54 			from the context menu.  
       
    55 			<p><img src="../images/60/refactor_before.png" alt="refactor"></p>
       
    56 			 <p><img src="../images/60/refactorExtractLocalVar.png" alt="refactoring context menu highlighting 'extract local variable'">   
       
    57 			<p>Give the new local variable a name</p>
       
    58 			<p><p><img src="../images/60/refactor_varname.png" alt="refactor"></p></p>
       
    59 			A local variable is created from the expression and its
       
    60 			use is inserted in the original expression.
       
    61 			<p><img src="../images/60/refactor_after.png" alt="refactor"></p>
       
    62 			</td>
       
    63 		</tr>
       
    64 		<tr>
       
    65 			<td>
       
    66 			<p align="right"><b>Add Include </b></p>
       
    67 			</td>
       
    68 			<td>Add Include significantly improved.
       
    69 			<ul>
       
    70 				<li>CDT can infer the header file of a function or class from its use and automatically insert the appropriate
       
    71 				#include directive. For example create a file with a main method and a call to printf. Right click on the call to
       
    72 				printf and select Source &gt; Add Include. CDT will infer that printf is defined in the cstdio header and
       
    73 				automatically insert the #include directive for that header.
       
    74 				<ul>
       
    75 					<li>This feature works much better in CDT 6.0.</li>
       
    76 				</ul>
       
    77 				</li>
       
    78 			</ul>
       
    79 
       
    80 			<!-- <p><img src="../images/60/image.png" alt="alternate text for image for accessibility">   -->
       
    81 			</td>
       
    82 		</tr>
       
    83 		<tr>
       
    84 			<td>
       
    85 			<p align="right"><b>Outline View</b></p>
       
    86 			</td>
       
    87 			<td>
       
    88 			<ul>
       
    89 				<li>Inactive code is shown in Outline View. The CDT parser can now detect top-level declarations within
       
    90 				inactive code blocks and display them in the outline view. Inactive declarations appear slightly greyed out and the
       
    91 				icon has a slash through it.
       
    92 				<p><img src="../images/60/CDT6.0_inactive_code_outline.png" alt="Inactive code in Outline View">
       
    93 				<p>&nbsp;</p>
       
    94 				</li>
       
    95 				<li>Grouping of method definitions in the Outline view.
       
    96 				<p></p>
       
    97 				The outline view is now capable of displaying class members defined outside the class in the same way it displays
       
    98 				members defined inside the class.
       
    99 				<p></p>
       
   100 				This feature can be turned on/off in the preferences.
       
   101 				<p><img src="../images/60/CDT6.0_outline_group_methods2.png" alt="Grouping of method definitions in the Outline view">
       
   102 				<p>&nbsp;</p>
       
   103 				<p><img src="../images/60/CDT6.0_group_methods_prefernce2.png" alt="Method definitions grouping preference">
       
   104 				<p>&nbsp;</p>
       
   105 				</li>
       
   106 			</ul>
       
   107 			</td>
       
   108 		</tr>
       
   109 		<tr>
       
   110 			<td>
       
   111 			<p align="right"><b> Macro Exploration </b></p>
       
   112 			</td>
       
   113 			<td>Improved Macro Exploration control.
       
   114 			<ul>
       
   115 				<li>The Macro Expansion hover now has a toolbar at the bottom of the control with back, forward and open
       
   116 				declaration buttons.</li>
       
   117 				<li>The title bar of the Macro Expansion hover is now draggable.</li>
       
   118 				<p><img src="../images/60/CDT6.0_macro_hover.png" alt="Macro Expansion hover toolbar"></p>
       
   119 			</ul>
       
   120 			</td>
       
   121 		</tr>
       
   122 		<tr>
       
   123 			<td>
       
   124 			<p align="right"><b>Block selection mode </b></p>
       
   125 			</td>
       
   126 			<td>Block selection mode now works in the CDT editor.
       
   127 			<p><img src="../images/60/CDT6.0_block_mode.png" alt="Block selection mode in editor">
       
   128 			</td>
       
   129 		</tr>
       
   130 		<tr>
       
   131 			<td>
       
   132 			<p align="right"><b>C style block commenting</b></p>
       
   133 			</td>
       
   134 			<td>C style block commenting (Ctrl-Shift-/) improved
       
   135 			<!--  <p><img src="../images/60/image.png" alt="alternate text for image for accessibility">     -->
       
   136 			</td>
       
   137 		</tr>
       
   138 
       
   139 		<!-- ******************** Indexing ********************** -->
       
   140 		<tr>
       
   141 			<td colspan="2"><a name="Indexing"></a>
       
   142 			<div style="font-size: 20px; font-weight: bold;">Indexing</div>
       
   143 			</td>
       
   144 		</tr>
       
   145 		<tr>
       
   146 			<td>
       
   147 			<p align="right"><b>Implicit references and overloaded operators</b></p>
       
   148 			</td>
       
   149 			<td>
       
   150 			<p></p>
       
   151 			Index support for implicit references and overloaded operators:
       
   152 			<ul>
       
   153 				<li>The indexer now picks up references for uses of overloaded operators.</li>
       
   154 				<li>The editor now has full support for overloaded operators including semantic highlighting, mark occurrences
       
   155 				and open declaration.
       
   156 				<p><img src="../images/60/CDT6.0_OO_editor.png" alt="Overloaded operators support in editor">
       
   157 				<p>&nbsp;</p>
       
   158 				</li>
       
   159 				<li>A category has been added to the syntax highlighting options for overloaded operators.
       
   160 				<p><img src="../images/60/CDT6.0_OO_syntax_preferences.png" alt="Overloaded operators syntax color option in preference">
       
   161 				<p>&nbsp;</p>
       
   162 				</li>
       
   163 				<li>It is now possible to search for references to overloaded operators.
       
   164 				<p><img src="../images/60/CDT6.0_OO_search.png" alt="Overloaded operators in search results">
       
   165 				<p>&nbsp;</p>
       
   166 				</li>
       
   167 				<li>Uses of overloaded operators now show up in the call hierarchy view.
       
   168 				<p><img src="../images/60/CDT6.0_OO_callh2.png" alt="Overloaded operators in call hierarchy view">
       
   169 				<p>&nbsp;</p>
       
   170 				</li>
       
   171 				<li>The indexer is picking up more information to support this feature, therefore indexing time may be longer
       
   172 				and the size of the index file will be larger. For this reason the indexer options page provides the option to turn
       
   173 				off the collection of implicit references.
       
   174 				<p><img src="../images/60/CDT6.0_OO_indexer_preferences.png" alt="Skip implicit references option in indexer preference">
       
   175 				<p>&nbsp;</p>
       
   176 				</li>
       
   177 			</ul>
       
   178 			</td>
       
   179 		</tr>
       
   180 		<tr>
       
   181 		<td>
       
   182 			<p align="right"><b>System Includes</b></p>
       
   183 			</td>
       
   184 			 
       
   185 		 
       
   186 			<td>
       
   187 			<ul>
       
   188 				<li>Heuristics to pick up otherwise unresolved include files from the project
       
   189 				<p>In older versions of CDT the user was forced to manually set up all include paths that were not discovered by
       
   190 				the build system. Now CDT is capable of automatically finding any header file that is located within the project
       
   191 				without manual setup.
       
   192 				<p>(See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=213562">Bug 213562</a>)</p>
       
   193 				<p>&nbsp;</p>
       
   194 				</li>
       
   195 				</ul>
       
   196 				</td>
       
   197 				</tr>
       
   198 		
       
   199 		<td>
       
   200 			<p align="right"><b>Indexer Accuracy</b></p>
       
   201 			</td>
       
   202 			<td>
       
   203 			<ul>
       
   204 			<li>Rework of template instantiation
       
   205 				<p>
       
   206 				There have been significant improvements to the CDT editor for supporting C++ templates. Content assist now works
       
   207 				much better within code that makes heavy use of templates.</p>
       
   208 				<p>&nbsp;</p>
       
   209 				 <li>
       
   210 				There have been numerous improvements to the performance and accuracy of the CDT parser and indexer.</li>
       
   211 			</ul>
       
   212 			</td>
       
   213 		</tr>
       
   214 		<!-- ******************** Navigation and Search ********************** -->
       
   215 		<tr>
       
   216 			<td colspan="2"><a name="navAndSearch"></a>
       
   217 			<div style="font-size: 20px; font-weight: bold;">Navigation and Search</div>
       
   218 			</td>
       
   219 		</tr>
       
   220 		<tr>
       
   221 			<td>
       
   222 			<p align="right"><b>Open Declaration</b></p>
       
   223 			</td>
       
   224 			<td>Open Declaration (F3) improved, particularly for unresolved symbols.
       
   225 			<p>Open Declaration is capable of detecting potential matches.</p>
       
   226 			<p><img src="../images/60/CDT6.0_open_declaration.png" alt="Improved open declaration for unresolved symbols">
       
   227 			</td>
       
   228 		</tr>
       
   229 
       
   230 		<!-- ******************** Project and Build ********************** -->
       
   231 		<tr>
       
   232 			<td colspan="2"><a name="projAndBuild"></a>
       
   233 			<div style="font-size: 20px; font-weight: bold;">Project and Build</div>
       
   234 			</td>
       
   235 		</tr>
       
   236 		<tr>
       
   237 			<td>
       
   238 			<p align="right"><b>Converters</b></p>
       
   239 			</td>
       
   240 			<td>
       
   241 			<ul>
       
   242 				<li>Added a converter to convert a general project to a Managed make project</li>
       
   243 				<li>Fixes to Makefile converter</li>
       
   244 			</ul>
       
   245 			</td>
       
   246 		</tr>
       
   247 
       
   248 		<tr>
       
   249 		<tr>
       
   250 			<td>
       
   251 			<p align="right"><b>Working Sets</b></p>
       
   252 			</td>
       
   253 			<td>
       
   254 			<ul>
       
   255 				<li>Complete overhaul of the user interface for Working Set Configurations:</li>
       
   256 				<ul>
       
   257 					<li>Updated Manage Working Set Configurations dialog for simpler workflows</li>
       
   258 					<li>Quick access to configurations via a property page for Working Sets
       
   259 					<br></br><img src="../images/60/New_cdtwsconfig_wsProperties.png" alt="New working set configuration dialog">
       
   260 					<p>&nbsp;</p>
       
   261 					
       
   262 					</li>
       
   263 					<li>Context menu actions on Working Sets in the Project Explorer for activating and building configurations
       
   264 					<p><img src="../images/60/New_cdtwsconfig_wsContextMenu.png" alt="Activating and building working set configurations through context menu"/></p>
       
   265 					
       
   266 					</li>
       
   267 					<li>For more details, see the <a href="http://wiki.eclipse.org/CDT/designs/workingSets">working sets
       
   268 					design document</a></li>
       
   269 				</ul>
       
   270 			</ul>
       
   271 			</td>
       
   272 		</tr>
       
   273 		<tr>
       
   274 			<td>
       
   275 			<p align="right"><b>Make Targets View</b></p>
       
   276 			</td>
       
   277 			<td>
       
   278 			<ul>
       
   279 				<li>Icons, menu and dialogs have been enhanced. Build action uses hammer icon for consistency with project
       
   280 				build icon in editor toolbar.
       
   281 				<p><img src="../images/60/MTV.png" alt="Make Targets View">
       
   282 				<p>&nbsp;</p>
       
   283 				</p>
       
   284 				</li>
       
   285 				<li>Drag and Drop of Make Targets in Make Targets View. It is possible to copy/paste, drag files from Project
       
   286 				Explorer to the view, or Make Targets to external editor, various options available.
       
   287 				<p><img src="../images/60/MTV-DND.png" alt="Drag and Drop enabled in Make Targets View">
       
   288 				<p>&nbsp;</p>
       
   289 				</p>
       
   290 				</li>
       
   291 			</ul>
       
   292 			</td>
       
   293 		</tr>
       
   294 		<tr>
       
   295 			<td>
       
   296 			<p align="right"><b>Error and Problem management</b></p>
       
   297 			</td>
       
   298 			<td>ErrorParserManager has been significantly simplified and improved. See <a
       
   299 				href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=264715">bug 264715 </a>and its subtasks.
       
   300 			<ul>
       
   301 				<li>Uses a much more accurate algorithm for associating errors/warnings from build output with files in the
       
   302 				workspace.</li>
       
   303 				<li>Other C/C++ projects from the workspace are considered when looking for files.</li>
       
   304 				<li>RSE EFS projects and EFS resources are supported.</li>
       
   305 				<li>Improved performance.</li>
       
   306 			</ul>
       
   307 			<p><img src="../images/60/EPM-multi.png" alt="More accurate algorithm for associating errors/warnings from build output with files in the
       
   308 				workspace">
       
   309 			<p>In the <b>Problems View</b>, external file locations (outside of the workspace) have been moved to the Location
       
   310 			column and associated with "Open External Location" menu.
       
   311 			<p><img src="../images/60/PV-extloc.png" alt="Open External Location from context menu in Problems View">
       
   312 			<ul>
       
   313 				<li>Remote Project Support
       
   314 				<ul>
       
   315 					<li>New <b>ICommandLauncher interface</b> supports overriding how build commands are launched.</li>
       
   316 					<li><b>EFS resources</b> now supported with Managed Build.</li>
       
   317 				</ul>
       
   318 				</li>
       
   319 				<li>XL C/C++ Compiler Support
       
   320 				<ul>
       
   321 					<li>The <b>XL C/C++ Error Parser</b> has been modernized. It can handle compiler errors/warnings better and
       
   322 					now also xlC linker warnings.</li>
       
   323 					<li><b>XL C/C++ v10.1 option support</b> in Managed Build</li>
       
   324 					<li><b>XL UPC compiler</b> support added.</li>
       
   325 				</ul>
       
   326 				</li>
       
   327 				<li><b>Headless Build</b> You can now Import and Build CDT Projects without starting the IDE.</li>
       
   328 			</ul>
       
   329 
       
   330 			</td>
       
   331 		</tr>
       
   332 
       
   333 		<!-- ******************** Debug and Launch ********************** -->
       
   334 		<tr>
       
   335 			<td colspan="2"><a name="debugAndLaunch"></a>
       
   336 			<div style="font-size: 20px; font-weight: bold;">Debug and Launch</div>
       
   337 			</td>
       
   338 		</tr>
       
   339 		<tr>
       
   340 			<td>
       
   341 			<p align="right"><b>DSF Integration</b></p>
       
   342 			</td>
       
   343 			<td>DSF (Eclipse Debugger Services Framework) integrated. See <a
       
   344 				href="http://www.eclipse.org/dsdp/dd/development/relnotes/dd_news-1.1.html">DSF features</a> for more information.</td>
       
   345 		</tr>
       
   346 		<tr>
       
   347 			<td>
       
   348 			<p align="right"><b>Launch Group</b></p>
       
   349 			</td>
       
   350 			<td>
       
   351 			<p>New "Launch Group" launch configuration. Allows to launch several processes at once.</p>
       
   352 			<p><img src="../images/60/Run_debug_launch_group.png" alt="Debug launch group">
       
   353 			</td>
       
   354 		</tr>
       
   355 				<!-- ******************** Bugs fixed ********************** -->
       
   356 		<tr>
       
   357 			<td colspan="2"><a name="bugs60"></a>
       
   358 			<div style="font-size: 20px; font-weight: bold;">Bugs fixed</div>
       
   359 			</td>
       
   360 		</tr>
       
   361 		<tr>
       
   362 			<td>
       
   363 			<p align="right"><b>Bugs fixed</b></p>
       
   364 			</td>
       
   365 			<td>Bugs fixed in this release: 
       
   366 			<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=">
       
   367 			CDT 6.0 bug fixes</a>
       
   368 		
       
   369 			</td>
       
   370 		</tr>
       
   371 		
       
   372 		<!-- ******************** NewTopic ********************** -->
       
   373 		<!-- 
       
   374 		<tr>
       
   375 			<td colspan="2"><a name="NewTopic"></a>
       
   376 			<div style="font-size: 20px; font-weight: bold;">Newtopic</div>
       
   377 			</td>
       
   378 		</tr>
       
   379 		<tr>
       
   380 			<td>
       
   381 			<p align="right"><b>texthere</b></p>
       
   382 			</td>
       
   383 			<td>text here.
       
   384 			<p><img src="../images/image.png" alt="alternate text for image for accessibility">
       
   385 			</td>
       
   386 		</tr>
       
   387 		 -->
       
   388 </table>
       
   389 <p><a href="#top">Back to Top</a> <!-- ******************** CDT 5.0 info ********************** -->
       
   390 <h1 id="5.0">CDT 5.0 - New and Noteworthy</h1>
       
   391 <p>CDT 5.0 includes new features in Editor, Call Hierarchy, 
       
   392 Refactoring, Indexer, Projects &amp; Build, and Debug.
       
   393 <p>
       
   394 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.
       
   395 
       
   396 <p>Highlights include:
       
   397 
       
   398 <h3>Editor</h3>
       
   399 <ul>
       
   400 <li>Code and File Templates - user-definable templates can be used in New Class and New Source/Header File wizards.
       
   401 <li>New preference page for Code Templates
       
   402 <li>Outline view for assembly files
       
   403 <li>Code formatter improvements including new whitespace and line wrapping options, Improved GNU coding style compliance
       
   404 <li>Content assist improvements 
       
   405 <li>Doxygen editor support - auto-generation of tags and a pluggable framework for other documentation tools is now available.
       
   406 <li>Mark Occurrences - highlights where the selected identifier occurs elsewhere in the editor
       
   407 <li>Folding of compound statements
       
   408 <li>Macro Expansion hover and exploration tool
       
   409 <li>Spell checking available and enabled by default
       
   410 <li>Scalability mode for working with very large files.
       
   411 <li>Visual Studio key bindings
       
   412 
       
   413 </ul>
       
   414 <h3>Navigation and Search</h3>
       
   415 <ul>
       
   416 <li>Open Declaration for operators, empty macros, element in outline view, etc
       
   417 <li>Open Element support for static functions/variables, other improvements
       
   418 <li>Search - for Static functions/variables, macros, references of local variables, Search view usability improvements
       
   419 </ul>
       
   420 <h3>Call Hierarchy</h3>
       
   421 <ul>
       
   422 <li>Read/write decorators indicate read/write status for variables
       
   423 <li>Polymorphic method calls (virtual methods) support
       
   424 </ul>
       
   425 <h3>Refactoring</h3>
       
   426 <ul>
       
   427 <li>Refactoring infrastructure much improved, models transformation on the AST
       
   428 <li>Generate Getters and Setters
       
   429 <li>Hide Method
       
   430 <li>Implement Method
       
   431 <li>Extract Constant
       
   432 <li>Extract Function
       
   433 </ul>
       
   434 <h3>Indexer</h3>
       
   435 <ul>
       
   436 <li>Improved accuracy and performance
       
   437 <li>Entirely new preprocessor
       
   438 <li>Improved infrastructure
       
   439 <li>Visual indication of indexer status
       
   440 </ul>
       
   441 <h3>Projects and Build</h3>
       
   442 <ul>
       
   443 <li>Project Properties improved usability
       
   444 <li>Make target locations - make targets at the project level are built in the project build directory
       
   445 </ul>
       
   446 <h3>Debug</h3>
       
   447 <ul>
       
   448 <li>Executables view
       
   449 <li>Event breakpoints - added gdb catchpoints support
       
   450 </ul>
       
   451 <p><a href="#top">Back to Top</a>
       
   452 <p>&nbsp;</p>
       
   453 
       
   454  
       
   455 </body>
       
   456 </html>
       
   457