Skip to main content
Jump to: navigation, search

Difference between revisions of "CDT/User/NewIn103"

< CDT
(Terminal)
 
(18 intermediate revisions by 3 users not shown)
Line 23: Line 23:
 
----
 
----
  
 
+
<!--
 
= Editor =
 
= Editor =
 
----
 
----
Line 49: Line 49:
 
----
 
----
 
----
 
----
 
+
-->
  
 
= Build =
 
= Build =
Line 64: Line 64:
 
See also [http://eclip.se/573512 Bug 573512].
 
See also [http://eclip.se/573512 Bug 573512].
 
|}
 
|}
 +
----
  
 
{| style="width: 100%;"
 
{| style="width: 100%;"
Line 73: Line 74:
 
See also [http://eclip.se/573512 Bug 573512].
 
See also [http://eclip.se/573512 Bug 573512].
 
|}
 
|}
 +
----
  
  
Line 82: Line 84:
 
[[File:CDT 10 3 make args.png]] <br>
 
[[File:CDT 10 3 make args.png]] <br>
 
See also [http://eclip.se/568397 Bug 568397].
 
See also [http://eclip.se/568397 Bug 568397].
 +
|}
 +
 +
----
 +
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Build Targets (Make) view supports working sets
 +
| The Build Targets (Make) view now supports working sets allowing you to focus on what you are actively working on. <br>
 +
[[File:CDT_10_3_working_sets.png ]] <br>
 +
See also [http://eclip.se/338776 Bug 338776].
 +
|}
 +
----
 +
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Build Targets (Make) view saves and restores its UI state
 +
| The selected items, expanded folders and scroll positions of the Build Targets (Make) view are saved when closed and restored when reopened. <br>
 +
See also [http://eclip.se/573619 Bug 573619].
 
|}
 
|}
 
----
 
----
Line 95: Line 115:
 
[[File:Opcode_as_byte_sequence.png]]
 
[[File:Opcode_as_byte_sequence.png]]
 
|}
 
|}
 +
----
  
 
{| style="width: 100%;"
 
{| style="width: 100%;"
Line 106: Line 127:
 
----
 
----
  
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | View GDB process properties
 +
| The GDB process properties page is now populated with launch timestamp, working directory, command line and environment details. To access the page, select ''Properties'' from the context menu of a GDB process element within the Eclipse ''Debug'' view.
 +
See [https://eclip.se/572944 bug 572944].
 +
 +
[[File:GDB_process_properties.png]]
 +
|}
 +
----
 +
<!--
 
= Launch Bar =
 
= Launch Bar =
 
----
 
----
 
----
 
----
 
+
-->
  
  
 
= Terminal =
 
= Terminal =
 +
== Terminal - New Features ==
 
----
 
----
 
{| style="width: 100%;"
 
{| style="width: 100%;"
Line 123: Line 155:
 
* otherwise the user is prompted with the open resource dialog, pre-filled with the word
 
* otherwise the user is prompted with the open resource dialog, pre-filled with the word
  
See [https://eclip.se/563015 bug 563015].
+
See [https://eclip.se/563015 bug 563015]. Also see [https://eclip.se/573645 bug 573645] which is a helpwanted bug for how to detect current path on Windows and macOS.
  
 
[[File:Terminal-hover-selection.png]]
 
[[File:Terminal-hover-selection.png]]
Line 129: Line 161:
  
 
----
 
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Automatically populate Terminal menus and dialogs with WSL
 +
| When running on Windows the [https://docs.microsoft.com/en-us/windows/wsl/ WSL (Windows Subsystem for Linux)] will be queried to populate Show In and New Terminal dialogs. The automatically populated commands can be edited in Preferences -> Terminal -> Local Terminal.
 +
 +
 +
[[File:CDT_10_3_Wsl.png]]
 +
 +
See [https://eclip.se/573712 bug 573712].
 +
|}
 +
 +
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Local terminals remember the working directory
 +
| When restarting the Eclipse IDE, the terminals will remember which path to start in. On Linux the path will be the detected path of the shell at shutdown, on Windows and macOS the path will be the initial path that shell was created with.
 +
See [https://eclip.se/453696 bug 453696]. Also see [https://eclip.se/573645 bug 573645] which is a helpwanted bug for how to detect current path on Windows and macOS.
 +
|}
 +
--------
 +
 +
== Terminal - Key Bug Fixes ==
 +
 +
--------
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Local terminals remember the shell, args and other settings
 +
| When restarting the Eclipse IDE, the terminals will remember which shell and arguments to use. This is particularly helpful on Windows where many users use git bash for their shell, and prior to this change on restart terminals would be reopened in the default shell, instead of the shell the user had selected.
 +
See [https://eclip.se/460495 bug 460495].
 +
|}
 +
 +
--------
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Terminals remember which terminal view they were part of
 +
| When restarting the Eclipse IDE, the terminals will remember which view to recreate themselves in.
 +
See [https://eclip.se/573646 bug 573646].
 +
|}
 +
 +
----
 +
 +
== Terminal - Windows Pseudo Console ==
 +
----
 +
{| style="width: 100%;"
 +
|- style="vertical-align:top;"
 +
! style="width: 30%; text-align:left;" | Windows Pseudo Console (ConPTY) in preview mode
 +
|
 +
 +
On Windows the terminal uses the amazing [https://github.com/rprichard/winpty WinPTY] library to provide a [https://en.wikipedia.org/wiki/Pseudoterminal PTY] as Windows did not come with one. For the last number of years, Windows 10 has a native version called Windows Pseudo Console ([https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/ ConPTY]) which programs such as VSCode and Eclipse Theia have converted to using, in part because of the [https://github.com/Microsoft/vscode/issues/45693 fundamental bugs] that can't be fixed in WinPTY. The WinPTY version in Eclipse is also quite out of date, and hard to develop as it is interfaced to by JNI.
 +
 +
For Eclipse 2021-06 / CDT 10.3.0 the Eclipse CDT will be releasing a preview version of the terminal that will use ConPTY.
 +
 +
In this first version ConPTY won't be enabled by default, it requires system property '''org.eclipse.cdt.core.conpty_enabled=true''' to be set. i.e. start Eclipse with '''-vmargs -Dorg.eclipse.cdt.core.conpty_enabled=true''' command line argument to Eclipse or added to the eclipse.ini.
 +
 +
In a future version the default will change to on if available, so to force it off use: '''org.eclipse.cdt.core.conpty_enabled=false'''. There is no plan to remove the WinPTY implementation anytime soon, so if there is a user who feels impacted by the slowdown I encourage them to reach out to the community ([https://accounts.eclipse.org/mailing-list/cdt-dev cdt-dev] mailing list or provide feedback on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=573730 Bug 573730]) and force it off.
 +
 +
See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=562776  Bug 562776] for details on the implementation.
 +
|}
 +
----
 +
 
= Code Templates =
 
= Code Templates =
 
----
 
----
 
{| style="width: 100%;"
 
{| style="width: 100%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
! style="width: 20%; text-align:left;" | Templates are sorted
+
! style="width: 30%; text-align:left;" | Templates are sorted
 
|
 
|
 
When a new source file is created from template, the available suggested templates are sorted in alphabetical order first by template key, then by template name between same content type. E.g. When a new C++ file is created from template it will have few suggested templates grouped into few content types. The most relevant content type group is still at the top. It makes possible to bring at the top of the drop down list custom templates that does not have a key and whose name sorted will be in front of "Default C++ Source template".
 
When a new source file is created from template, the available suggested templates are sorted in alphabetical order first by template key, then by template name between same content type. E.g. When a new C++ file is created from template it will have few suggested templates grouped into few content types. The most relevant content type group is still at the top. It makes possible to bring at the top of the drop down list custom templates that does not have a key and whose name sorted will be in front of "Default C++ Source template".
 
See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=572755  Bug 572755 ]
 
See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=572755  Bug 572755 ]
 
|}
 
|}
 +
----
 
{| style="width: 100%;"
 
{| style="width: 100%;"
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
! style="width: 20%; text-align:left;" | Templates selection persistent
+
! style="width: 30%; text-align:left;" | Templates selection is persistent
 
|
 
|
The template selection is persistent. If a different template has been selected than default one from the top of the list, this selection will be recorded. Next time when a new file is created from template with same extension, the previous chosen template will selected by default.
+
The template selection is persistent. If a different template has been selected than default one from the top of the list, this selection will be recorded. Next time when a new file is created from template with same extension, the previous chosen template will be selected by default.
 
See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=573204  Bug 573204 ]
 
See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=573204  Bug 573204 ]
 
|}
 
|}
Line 159: Line 251:
 
= Bugs Fixed in this Release =
 
= Bugs Fixed in this Release =
 
----
 
----
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=10.3.0 Bugs Fixed in CDT 10.3]
+
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=10.3.0&target_milestone=10.3.1&target_milestone=10.3.2&target_milestone=10.3.3 Bugs Fixed in CDT 10.3]
 
----
 
----

Latest revision as of 09:21, 10 September 2021


Release


This is the New & Noteworthy page for CDT 10.3 which is part of Eclipse 2021-06 Simultaneous Release


pack200 (*.jar.pack.gz) removed From CDT 10.3 pack.gz (aka pack200) jar files are not included with CDT release. (bug 572347).


Build


Headless builder can now remove projects from workspace. There are new two options based on the import options that will be executed before a build:

"-remove" /path/to/project - will remove a single project from workspace.
"-removeAll" /path/to/projectTree - will remove a tree of projects in this path.
Both options are more precedence than the import options. That means if you import a project and remove it or the containing project tree in the same command, the project will not be imported. Otherwise it is possible to combine the options with importing in this way:
-importAll /path/to/projectTree -remove<All> /path/to/projectTree/subProject<Tree>
This will import a project tree and remove the sub project or sub project tree.
See also Bug 573512.


Add verbose option for progress monitor of headless builder. During operations, such as remove projects, the subtask of a progress

monitor has useful information for users. However during a normal build there ends up being lots of output that is of little value.
See also Bug 573512.



Build command arguments moved to Behavior tab. The free form text box to customize build (aka make) arguments has been moved the the Behavior tab and split

from the Build command text box.
CDT 10 3 make args.png
See also Bug 568397.


Build Targets (Make) view supports working sets The Build Targets (Make) view now supports working sets allowing you to focus on what you are actively working on.

CDT 10 3 working sets.png
See also Bug 338776.


Build Targets (Make) view saves and restores its UI state The selected items, expanded folders and scroll positions of the Build Targets (Make) view are saved when closed and restored when reopened.

See also Bug 573619.


Debug


Show opcode as byte sequence The instruction opcode is shown as sequence of bytes inside the disassembly view.

See bug 572880.

Opcode as byte sequence.png


Jump To Memory location context menu The disassembly view got a new context menu entry to jump to memory location for the current selected entry.

See bug 573157.

Jump to memory.png


View GDB process properties The GDB process properties page is now populated with launch timestamp, working directory, command line and environment details. To access the page, select Properties from the context menu of a GDB process element within the Eclipse Debug view.

See bug 572944.

GDB process properties.png



Terminal

Terminal - New Features


Open files and links with Ctrl+Click When pressing the Ctrl key (Cmd key on mac), the word under the mouse pointer is highlighted with an underline and by clicking it the terminal guesses how to open it:
  • a web link is opened in the configured browser
  • if it can be resolved to a file in the workspace, that file is opened (linux only: the terminal keeps track of the current working directory of the shell to resolve relative paths)
  • otherwise the user is prompted with the open resource dialog, pre-filled with the word

See bug 563015. Also see bug 573645 which is a helpwanted bug for how to detect current path on Windows and macOS.

Terminal-hover-selection.png


Automatically populate Terminal menus and dialogs with WSL When running on Windows the WSL (Windows Subsystem for Linux) will be queried to populate Show In and New Terminal dialogs. The automatically populated commands can be edited in Preferences -> Terminal -> Local Terminal.


CDT 10 3 Wsl.png

See bug 573712.


Local terminals remember the working directory When restarting the Eclipse IDE, the terminals will remember which path to start in. On Linux the path will be the detected path of the shell at shutdown, on Windows and macOS the path will be the initial path that shell was created with.

See bug 453696. Also see bug 573645 which is a helpwanted bug for how to detect current path on Windows and macOS.


Terminal - Key Bug Fixes


Local terminals remember the shell, args and other settings When restarting the Eclipse IDE, the terminals will remember which shell and arguments to use. This is particularly helpful on Windows where many users use git bash for their shell, and prior to this change on restart terminals would be reopened in the default shell, instead of the shell the user had selected.

See bug 460495.


Terminals remember which terminal view they were part of When restarting the Eclipse IDE, the terminals will remember which view to recreate themselves in.

See bug 573646.


Terminal - Windows Pseudo Console


Windows Pseudo Console (ConPTY) in preview mode

On Windows the terminal uses the amazing WinPTY library to provide a PTY as Windows did not come with one. For the last number of years, Windows 10 has a native version called Windows Pseudo Console (ConPTY) which programs such as VSCode and Eclipse Theia have converted to using, in part because of the fundamental bugs that can't be fixed in WinPTY. The WinPTY version in Eclipse is also quite out of date, and hard to develop as it is interfaced to by JNI.

For Eclipse 2021-06 / CDT 10.3.0 the Eclipse CDT will be releasing a preview version of the terminal that will use ConPTY.

In this first version ConPTY won't be enabled by default, it requires system property org.eclipse.cdt.core.conpty_enabled=true to be set. i.e. start Eclipse with -vmargs -Dorg.eclipse.cdt.core.conpty_enabled=true command line argument to Eclipse or added to the eclipse.ini.

In a future version the default will change to on if available, so to force it off use: org.eclipse.cdt.core.conpty_enabled=false. There is no plan to remove the WinPTY implementation anytime soon, so if there is a user who feels impacted by the slowdown I encourage them to reach out to the community (cdt-dev mailing list or provide feedback on Bug 573730) and force it off.

See Bug 562776 for details on the implementation.


Code Templates


Templates are sorted

When a new source file is created from template, the available suggested templates are sorted in alphabetical order first by template key, then by template name between same content type. E.g. When a new C++ file is created from template it will have few suggested templates grouped into few content types. The most relevant content type group is still at the top. It makes possible to bring at the top of the drop down list custom templates that does not have a key and whose name sorted will be in front of "Default C++ Source template". See Bug 572755


Templates selection is persistent

The template selection is persistent. If a different template has been selected than default one from the top of the list, this selection will be recorded. Next time when a new file is created from template with same extension, the previous chosen template will be selected by default. See Bug 573204


API modifications


org.eclipse.cdt.dsf.gdb

A new method org.eclipse.cdt.dsf.gdb.service.IGDBBackend.getDebuggerCommandLineArray() has been added for access to, and customization of, the GDB command line used when launching a debug session. This method should be overridden by extenders in preference to overriding org.eclipse.cdt.dsf.gdb.service.GDBBackend.getDebuggerCommandLine() or org.eclipse.cdt.dsf.gdb.service.GDBBackend.getGDBCommandLineArray() which are now deprecated. See Bug 572944


Bugs Fixed in this Release


See Bugzilla report Bugs Fixed in CDT 10.3


Back to the top