Microsoft has released a new version of Windows Terminal, a modern console for Windows 10. The release is now available on the Microsoft Store, featuring a number of new options, and improvements.
Windows Terminal a new terminal app for command-line users that has plenty of new features including tabs, a GPU accelerated DirectWrite/DirectX-based text rendering engine, profiles, and more.
Windows Terminal is fully open-sourced. Thanks to the new tabbed console, it allows organizing instances of Command Prompt, PowerShell, and Windows Subsystem for Linux together in a single app.
The app comes with an icon that reminds of new Office and OneDrive icons, reflecting Microsoft's modern design view known as 'Fluent Design'.
What's new in Windows Terminal Preview 0.11
Localization
This is the first Windows Terminal version that has support for non-English UI languages. Microsoft are still working out the bugs with this, so please bear with us. If you find any translation issues, please file them on the GitHub.
Settings updates
The dev has introduced a number of new options to the settings file. They recommend you to move your settings file out of the folder and have the Terminal automatically generate a new one. You can compare and merge the files to use the new options.
Settings.json
The profiles.json file has been renamed to settings.json. If you already have the Terminal installed, your file name will automatically update.
Cascadia Code
Cascadia Code has been set as the default font for all profiles automatically generated by the Terminal. If you want to change your font, you can add the fontFace
property to any profile or to the defaults
section.
Tango color schemes
Terminal now ships with the Tango Dark and Tango Light color schemes.
Copy and paste
Copy and paste are bound to ctrl+c
and ctrl+v
, respectively, in the newly generated settings.json file. This means these key bindings will work alongside ctrl+shift+c
and ctrl+shift+v
and you can easily remove them. Ctrl+shift+c
and ctrl+shift+v
are still included in the defaults.json file, so you will still have a key combination you can use to copy and paste if you choose to remove ctrl+c
and ctrl+v
.
Note: If you want to free up a default key combination, you can set it to unbound
or null
in your settings.json file.
{ "command": "unbound", "keys": "ctrl+shift+c" },
{ "command": null, "keys": "ctrl+shift+v" }
Formatted copying
Microsoft has changed the default behavior of copying to copy plain text by default. A new global setting has been added to the newly generated settings.json file called copyFormatting
. This is set to false
by default, however you can change it to true
to always copy the HTML and RTF formatting.
Note: In defaults.json, copyFormatting
is set to true
in order to not break existing users.
Removed settings
In preparation for v1.0, the devs have removed some previously deprecated settings. This will likely impact your workflows, but this will should be is a one-time event.
“Globals” namespace
The Terminal no longer supports the globals
property in the JSON file. If you have settings inside the globals
object, they will be ignored. To fix this, remove the globals
object and move your global settings into the root of the JSON file.
Application theme
The global setting requestedTheme
has been renamed to theme
. This helps clean up the naming and provide flexibility for theming in the future.
"theme": "system"
Copying as a single line
The copyTextWithoutNewlines
command and the argument trimWhitespace
for copy
have been removed in favor of the singleLine
argument. This naming change helps better explain how the feature works. If you enable this as true for a copy
key binding, the content copied from the Terminal will be on one line when pasted.
{ "command": { "action": "copy", "singleLine": true ), "keys": "ctrl+alt+c" }
Creating a tab of a specific profile
The first iteration of creating a new tab of a specific profile had key binding commands from newTabProfile0
to newTabProfile8
. These commands have been removed in favor of a more flexible alternative.
Note: Indexing in the Terminal starts at 0.
{ "command": { "action": "newTab", "index": NUMBER }, "keys": "ctrl+shift+NUMBER" }
Navigating to a specific tab
Tab navigation now has the same structure as new tab creation, where switchToTab0
through switchToTab8
have been removed in favor of the index
property.
Note: Indexing in the Terminal starts at 0.
{ "command": { "action": "switchToTab", "index": NUMBER }, "keys": "ctrl+alt+NUMBER" }
Splitting panes
To allow for more options when splitting panes, the splitHorizontal
and splitVertical
commands have been removed in favor of the new key binding format. Additionally, if you don’t provide a split direction, the Terminal will default to splitting using auto
, which will split to provide the largest surface area.
{ "command": { "action": "splitPane", "split": "horizontal"}, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "vertical"}, "keys": "alt+shift+plus" }
Focusing between panes
Originally, you could use moveFocusDown
, moveFocusUp
, moveFocusLeft
, moveFocusRight
as key binding commands to navigate between panes. These have been removed, and the following formats have been added as replacements:
{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" }
Resizing panes
To follow the same key binding architecture, the pane resizing commands (resizePaneDown
, resizePaneUp
, resizePaneLeft
, resizePaneRight
) have been removed. Below is the new format for resizing panes.
{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" }
Changing the font size
The following key binding commands allowed you to change your font size, but they are now removed: decreaseFontSize
, increaseFontSize
.
You can modify your font size by using the below key bindings, which use a delta
that defines the font size change in points.
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" },
{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" }
Bug fixes
- The lines that appeared between solid blocks of background color are gone.
- Command line arguments should trigger more reliably in the order you expect them to.
- The input stack has been changed to address some issues with non-US-104 QWERTY keyboard layouts.
- The window borders now respect your application theme.
Get Windows Terminal
The actual app version can be found on Microsoft Store.
Windows Terminal on Microsoft Store
The source code is on GitHub.
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options: