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.
Difference between revisions of "CDT/User/NewIn93"
(→Support to extend the toolbar of the Debugger Console pages) |
(→Parser: Added section 'More accurate binding resolution') |
||
Line 48: | Line 48: | ||
== Parser == | == Parser == | ||
+ | |||
+ | === More accurate binding resolution === | ||
+ | |||
+ | This release fixes a [https://bugs.eclipse.org/bugs/show_bug.cgi?id=402498 long-standing issue] where the indexer would resolve names in a source file that referenced entities that did not have a declaration in any file included by that source file, only in other files in the project. | ||
+ | |||
+ | As a result of this change, the set of semantic errors produced by the indexer should more closely resemble what an actual compiler produces. | ||
== Formatter == | == Formatter == |
Revision as of 22:24, 22 January 2017
Contents
Release
This is the New & Noteworthy page for CDT 9.3 which is part of the Eclipse Oxygen release of June 2017
General
Editor
Following includes in inactive code paths
Open Declaration can now follow #include
s in inactive code paths (bug 379623).
Open Declaration now supports navigation from the definition of a class template to its forward declaration.
This can be useful in cases where some of the class template's template parameter have default arguments, as the default arguments may only be declared at the forward declaration.
Completion of member functions when taking the address
After a classname qualifier such as MyClass::
, CDT generally only offers static methods as completion proposals, since nonstatic methods need to be called on an object.
However, sometimes the address of a nonstatic method is taken, usually to be passed as a callback. CDT now recognizes the &MyClass::
form used to do this, and offers nonstatic methods as completion proposals (bug 395562).
Enclosing definition of macro reference
In the Search view, the enclosing definition (function and class if applicable) is now shown for macro references the way it is for references to other entities (bug 508216).
Open Declaration in assembly files
The Open Declaration action is now supported in assembly files.
The action works on #include directives (bug 507285) and identifiers (bug 507974).
Makefile Editor
Code Analysis
Parser
More accurate binding resolution
This release fixes a long-standing issue where the indexer would resolve names in a source file that referenced entities that did not have a declaration in any file included by that source file, only in other files in the project.
As a result of this change, the set of semantic errors produced by the indexer should more closely resemble what an actual compiler produces.
Formatter
Build
Prebuild task and parallel make
Pre-build tasks and parallel make is now working together. Pre-build tasks can be used to generate header and source files as the pre-build task is now guaranteed to complete before any source code is built.
Also, the build targets under Project Settings -> C/C++ Build -> Behavior -> Workbench Build Behavior is respected and works the same for projects both with and without pre-build tasks.
This solves (bug 340300).
Debug
Support to extend the toolbar of the Debugger Console pages
Just like the standard Console view, the Debugger Console view now allows the use of the Console Page Participants extension point. By using this extension, extenders can add buttons to the toolbar of the different pages of the Debugger Console view. An example of such additions can be found in org.eclipse.cdt.examples.dsf.gdb/GdbExtendedConsolePageParticipant.java and has been copied below.
<extension point="org.eclipse.ui.console.consolePageParticipants"> <consolePageParticipant class="org.eclipse.cdt.examples.dsf.gdb.ui.console.GdbExtendedConsolePageParticipant" id="org.eclipse.cdt.examples.dsf.gdb.debuggerConsolePageParticipant"> <enablement> <and> <instanceof value="org.eclipse.cdt.debug.ui.debuggerconsole.IDebuggerConsole"/> <!-- The below check only works with the Debugger Console view and not the standard console view. But that is ok since this contribution is for the Debugger Console views only. --> <with variable="org.eclipse.core.runtime.Platform"> <test property="org.eclipse.core.runtime.bundleState" args="org.eclipse.cdt.examples.dsf.gdb" value="ACTIVE"> </test> </with> </and> </enablement> </consolePageParticipant> </extension>
Furthermore, a new method was added to provide access to the full console widget. This allows to modify or extend the behaviour of the full GDB console. The method in question is GdbFullCliConsolePage#getTerminalViewControl() which returns an ITerminalViewControl. ConsolePageParticipants are provided with the console page in their init() method; they can then cast it to GdbFullCliConsolePage to access the ITerminalViewControl.
This support was a contribution from Stephen Flynn from Dell-EMC.
Bugs Fixed in this Release
See Bugzilla report Bugs Fixed in CDT 9.3