Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "CDT/User/NewIn60"

< CDT
(Project and Build)
(Editor: describe how to use interactive rename refactoring (like we did in the CDT help 'new and noteworthy')
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
== Editor ==
 
== Editor ==
  
* Rename in File.
+
* To make rename refactoring work interactively in the editor, position the cursor on an identifier in the editor and hit Cntl-1 (the hotfix key). Choose "Rename in file." Changing an identifier simultaneously changes all other references to that identifier.
 +
 
 +
[[Image:RenameInFile.png]]
 +
 
 
* Add Include significantly improved.
 
* 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.
 +
 
* Inactive code is shown in 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.
 +
 +
[[Image:CDT6.0_inactive_code_outline.png‎]]
 +
 
* Grouping of method definitions in the 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.
 +
 +
[[Image:CDT6.0_outline_group_methods2.png‎]]
 +
 +
[[Image:CDT6.0_group_methods_prefernce2.png‎‎]]
 +
 
* Improved Macro Exploration control.
 
* Improved Macro Exploration control.
* Block selection mode (Platform feature).
+
** 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.
 +
 
 +
[[Image:CDT6.0_macro_hover.png‎]]
 +
 
 +
* Block selection mode now works in the CDT editor.
 +
 
 +
[[Image:CDT6.0_block_mode.png‎‎]]
 +
 
 
* C style block commenting (Ctrl-Shift-/) improved.
 
* C style block commenting (Ctrl-Shift-/) improved.
  
Line 12: Line 37:
 
* Index support for 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 indexer now picks up references for uses of overloaded operators.
** The editor now has full support for overloaded operators including semantic highlighting, mark occurances and open declaration.
+
** The editor now has full support for overloaded operators including semantic highlighting, mark occurrences and open declaration.
  
[[Image:CDT.6.0.Hyperlinker.JPG]]
+
[[Image:CDT6.0_OO_editor.png‎]]
  
 
* A category has been added to the syntax highlighting options for overloaded operators.
 
* A category has been added to the syntax highlighting options for overloaded operators.
  
[[Image:CDT.6.0.Overloaded.Operators.Syntax.Color.JPG]]
+
[[Image:CDT6.0_OO_syntax_preferences.png]]
  
 
* It is now possible to search for references to overloaded operators.
 
* It is now possible to search for references to overloaded operators.
  
[[Image:CDT.6.0.Search.for.References.JPG]]
+
[[Image:CDT6.0_OO_search.png]]
  
 
* Uses of overloaded operators now show up in the call hierarchy view.
 
* Uses of overloaded operators now show up in the call hierarchy view.
  
[[Image:CDT.6.0.Call.Hierarchy.JPG]]
+
[[Image:CDT6.0_OO_callh2.png]]
  
 
* 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.
 
* 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.
  
[[Image:CDT.6.0.Indexer.Preferance.Page.JPG]]
+
[[Image:CDT6.0_OO_indexer_preferences.png]]
  
  
 
* Heuristics to pick up otherwise unresolved include files from the project (bug 213562)
 
* Heuristics to pick up otherwise unresolved include files from the project (bug 213562)
* Rework of template instantiation
+
** 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.
 +
 
 +
* 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 ==
 
== Navigation and Search ==
  
 
* Open Declaration (F3) improved, particularly for unresolved symbols.
 
* Open Declaration (F3) improved, particularly for unresolved symbols.
 +
** Open Declaration is capable of detecting potential matches.
 +
 +
[[Image:CDT6.0_open_declaration.png]]
 +
 +
 +
* It is now possible to navigate from a delete statement to the destructor method that is implicitly called.
 +
 +
[[Image:CDT_6.0_delete2.png]]
  
 
== Refactoring ==
 
== Refactoring ==
Line 49: Line 87:
 
* Complete overhaul of the user interface for Working Set Configurations:
 
* Complete overhaul of the user interface for Working Set Configurations:
 
** Updated '''Manage Working Set Configurations''' dialog for simpler workflows
 
** Updated '''Manage Working Set Configurations''' dialog for simpler workflows
** Quick access to configurations via a property page for Working Sets
+
** Quick access to configurations via a property page for Working Sets [[Image:New_cdtwsconfig_wsProperties.png]]
** Context menu actions on Working Sets in the '''Project Explorer''' for activating and building configurations
+
** Context menu actions on Working Sets in the '''Project Explorer''' for activating and building configurations [[Image:New_cdtwsconfig_wsContextMenu.png]]
 
** For more details, see the [[CDT/designs/workingSets|design document]]
 
** For more details, see the [[CDT/designs/workingSets|design document]]
 
* '''Make Targets View''' icons, menu and dialogs have been enhanced. Note that build action uses hammer icon now.
 
* '''Make Targets View''' icons, menu and dialogs have been enhanced. Note that build action uses hammer icon now.
 
[[Image:MTV.jpg]]
 
[[Image:MTV.jpg]]
* 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''' 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.
 
[[Image:MTV-DND.jpg]]
 
[[Image:MTV-DND.jpg]]
 +
 +
 
* '''ErrorParserManager''' has been significantly simplified and improved. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=264715 bug 264715] and its subtasks.
 
* '''ErrorParserManager''' has been significantly simplified and improved. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=264715 bug 264715] and its subtasks.
** Now uses a much more accurate algorithm for associating errors/warnings from build output with files in the workspace.
+
** 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.
 
** Other C/C++ projects from the workspace are considered when looking for files.
 
** RSE '''EFS projects''' and '''EFS resources''' are supported.
 
** RSE '''EFS projects''' and '''EFS resources''' are supported.
 
** Improved performance.
 
** Improved performance.
 +
[[Image:EPM-multi.jpg]]
 +
 +
 
* 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.
 
* 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.
 +
[[Image:PV-extloc.jpg]]
 +
 +
 
* Remote Project Support
 
* Remote Project Support
 
** New '''ICommandLauncher interface''' supports overriding how build commands are launched.
 
** New '''ICommandLauncher interface''' supports overriding how build commands are launched.

Latest revision as of 18:33, 12 August 2009

Editor

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

RenameInFile.png

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

CDT6.0 inactive code outline.png

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

CDT6.0 outline group methods2.png

CDT6.0 group methods prefernce2.png

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

CDT6.0 macro hover.png

  • Block selection mode now works in the CDT editor.

CDT6.0 block mode.png

  • C style block commenting (Ctrl-Shift-/) improved.

Indexing

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

CDT6.0 OO editor.png

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

CDT6.0 OO syntax preferences.png

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

CDT6.0 OO search.png

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

CDT6.0 OO callh2.png

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

CDT6.0 OO indexer preferences.png


  • Heuristics to pick up otherwise unresolved include files from the project (bug 213562)
    • 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.
  • 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 (F3) improved, particularly for unresolved symbols.
    • Open Declaration is capable of detecting potential matches.

CDT6.0 open declaration.png


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

CDT 6.0 delete2.png

Refactoring

  • Extract local variable

Project and Build

  • Added a converter to convert a general project to a Managed make project
  • Fixes to Makefile converter
  • 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 cdtwsconfig wsProperties.png
    • Context menu actions on Working Sets in the Project Explorer for activating and building configurations New cdtwsconfig wsContextMenu.png
    • For more details, see the design document
  • Make Targets View icons, menu and dialogs have been enhanced. Note that build action uses hammer icon now.

MTV.jpg


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

MTV-DND.jpg


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

EPM-multi.jpg


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

PV-extloc.jpg


  • 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

Run debug launch group.png

Bugs Fixed in this Release

Fixed in CDT 6.0

Back to the top