Windows Terminal Preview v0.11.
Localization
This is the first Windows Terminal version that has support for non-English UI languages. We are still working out the bugs with this, so please bear with us.
Settings updates
We have made some changes to our settings that we’d like to bring to your attention. We recommend you move your settings file out of the folder and have the Terminal automatically generate a new one. Then, you can copy your settings back over.
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
We have 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, we have removed some previously deprecated settings. We know this will likely impact your workflows, but we are hoping this 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
. We removed these commands 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. We have removed these and have added the following formats 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.