April 22nd, 2020

Windows Terminal Preview v0.11 Release

Kayla Cinnamon
Senior Product Manager

We are back with one last major update before the 1.0 release of Windows Terminal! Releases between now and then will be revisions of this version. This is the v0.11 release and you can download the Terminal from the Microsoft Store or from the GitHub releases page. Let’s see what has changed with this update!

Image azure vis Azure visualization – https://github.com/msleal/asciivmssdashboard

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. 😊 If you find any translation issues, please file them on our GitHub!

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.

Image tango dark

Image tango light

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.

Top Contributors

We love working with the community on GitHub and we’d like to recognize some individual contributors who have made an impact on this release!

Contributors Who Opened the Most Non-Duplicate Issues

🏆 Qantex

🏆 j4james

🏆 codeofdusk

🏆 AnuthaDev

🏆 Chips1234

Contributors Who Created the Most Merged Pull Requests

🏆 pi1024e

🏆 j4james

🏆 jsoref

Contributors Who Provided the Most Comments on Pull Requests

🏆 jsoref

🏆 pi1024e

🏆 j4james

Until next time

We hope you’ve been enjoying the Windows Terminal so far and we’re eager to release v1.0 very soon. If you have any questions or feedback, feel free to reach out to Kayla on Twitter (@cinnamon_msft). If you find any bugs or would like to file a feature request, you can create a new issue on our GitHub page. We’ll see you soon with our 1.0 release!

Author

Kayla Cinnamon
Senior Product Manager

Product Manager for Dev Home, Microsoft PowerToys, and Windows Developer Experiences, formerly Windows Terminal and Cascadia Code.

10 comments

Discussion is closed. Login to edit/delete existing comments.

  • muji aja

    I hope windows give easier feature for terminal as good as linux

    nama keren ff

  • cheong00

    Talking about ANSI colors, I wonder if there’s any thought about having shortcut to insert ESC character by pressing [Esc] twice, like BBS editors in the old days.

    Of course, make it a command setting because it’ll probably get in the way of some console applications.

    • Rich TurnerMicrosoft employee

      Alas, no because many apps accept/expect to handle ESC keypresses themselves and if we stole ESC ESC, overriding it for some Terminal-local operation, some apps would become inoperable.

      Further, Cmd has no support for Unicode text input - adding it would break things (esp. 3rd party things) in major ways.

      Instead, use PowerShell (see https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-7), e.g.:

      Read more
  • Juan Saez Hidalgo

    Is there a way to deactivate the automatic configuration of powershell core?

  • Satya Viswanathan

    Finally, the version I am ready to use! Splitting panes/switching between panes – this is what i have been looking for.. I love the minimalist look – now i can throwaway all the other terminals.
    Windows terminal + WSL2. I have been waiting for these two forever!!

  • Petr Marek

    This release broke mouse copy/paste text scenario when running Midnight Commander in ssh session for me. 🙁

    Without Midnight mouse copy/paste is working.

  • Sanjay

    Very interesting changes.

    Seems windows terminal is going to be best terminal in future.

    Now I don’t need to use different terminals for different purposes (Msys2, putty, ubuntu terminal, cmd, powershell, tmux etc), just one – windows terminal.
    Thanks a lot for developing this.

  • Chris Kennedy

    Location of the Windows Terminal settings file:

    %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
  • Станислав Усенков

    Is there a possibility to add Terminal to the Shell Menu? Maybe with dropdown to profiles? (Sorry if yes, I’m still not user of it yet).

  • Putra Jaya

    saya mau belajar bikin browsur untuk pemasaran metro reload, dimanakah saya harus belajar?