The release of the Windows Terminal preview v0.8 has arrived! You can download the Terminal from the Microsoft Store or from the GitHub releases page. Let’s jump into what’s new!
Search
Search functionality has been added to the Terminal! The default key binding to invoke the search dropdown is {"command": "find", "keys": ["ctrl+shift+f"]}
. Feel free to customize this key binding in your profiles.json if you prefer different key presses! The dropdown allows you to search up and down through the buffer as well as with letter case matching.
Retro Terminal Effects (Experimental)
Do you miss the days of scanlines and glowing text? Well this is the Terminal release for you! Thanks to community member @ironyman, you can now have CRT retro effects inside the Windows Terminal! This is an experimental feature, but to enable it you can add the following code snippet to any of your profiles:
"experimental.retroTerminalEffect": true
Settings Updates
Enhanced Panes and Tabs Key Bindings
When opening a new pane or tab with a key binding, you can now specify which profile by using the profile’s name "profile": "profile-name"
, guid "profile": "profile-guid"
, or index "index": profile-index
. If none are specified, the default profile is used.
Additionally, you can override certain aspects of the profile such as the profile’s command line executable "commandline": "path/to/my.exe"
, starting directory "startingDirectory": "my/path"
, or tab title "tabTitle": "new-title"
.
Here are a few examples of how to implement this new feature:
{"keys": ["ctrl+a"], "command": {"action": "splitPane", "split": "vertical"}}
Opens the default profile in a new vertical pane.
{"keys": ["ctrl+b"], "command": {"action": "splitPane", "split": "vertical", "index": 0}}
Opens the first profile in the dropdown in a new vertical pane.
{"keys": ["ctrl+c"], "command": {"action": "splitPane", "split": "horizontal", "profile": "{00000000-0000-0000-0000-000000000000}", "commandline": "foo.exe"}}
Opens the profile with the guid 00000000-0000-0000-0000-000000000000 using the command line executable of foo.exe in a new horizontal pane.
{"keys": ["ctrl+d"], "command": {"action": "newTab", "profile": "profile1", "startingDirectory": "c:\\foo"}}
Opens the profile with the name profile1 starting in the c:\foo directory in a new tab.
{"keys": ["ctrl+e"], "command": {"action": "newTab", "index": 1, "tabTitle": "bar", "startingDirectory": "c:\\foo", "commandline":"foo.exe"}}
Opens the second profile in the dropdown using the command line executable of foo.exe with a tab title of bar starting in the c:\foo directory in a new tab. *catches breath*
Custom Default Settings
You can now modify your profiles.json to have your own default profile settings. With this new architecture, you can set a property once and have it apply to all of your profiles. This new setting helps minimize redundant settings between profiles. To add this feature, you can modify the profiles object in your profiles.json to have the "defaults"
and "list"
properties in the following format:
"profiles": {
"defaults": {
"fontFace": "Cascadia Code",
"colorScheme": "Vintage"
},
"list": [
{
"commandLine": "cmd.exe",
"guid": "{00000000-0000-0000-0000-000000000000}",
"name": "cmd"
},
{
"guid": "{11111111-1111-1111-1111-111111111111}",
"name": "PowerShell Core",
"source": "Windows.Terminal.PowershellCore"
}
]
},
With the above code snippet, all of the profiles will use the Cascadia Code font and have the Vintage color scheme.
👉 Note: All of the profile settings can be found here. All can be applied to "defaults"
except "guid"
.
UI Improvements
Tab Sizing
You now have the ability to modify the behavior of your tab widths. A new setting has been added called "tabWidthMode"
. This setting provides two different tab width behaviors: "equal"
and "titleLength"
. "equal"
will make all of your tabs equal width and shrink as additional tabs are added, similar to a traditional browser experience. "titleLength"
will size each tab to the length of the tab title.
The Terminal originally had the default tab width behavior set to "titleLength"
. This release changes the default behavior to "equal"
. If you’d like to change your tab width behavior back to the "titleLength"
mode, you can add the following code snippet to the "globals"
property of your profiles.json file:
"tabWidthMode": "titleLength"
Here’s an example of how both tab width modes behave:
Bug Fixes
🐛 The tab row will now get larger when the window does!
🐛 Full screen mode now works more reliably!
🐛 Moving focus between grouped panes should act in the way you expect!
🐛 Windows Subsystem for Linux (WSL) users will now see the WT_SESSION
environment variable!
🐛 Heaps of crash fixes!
Top Contributors
Our community has contributed immensely to the Terminal project and we’d like to recognize those who have especially made an impact on this release!
Contributors Who Opened the Most Non-Duplicate Issues
🏆 j4james
🏆 mkitzan
Contributors Who Created the Most Merged Pull Requests
🏆 mkitzan
🏆 j4james
Contributors Who Provided the Most Comments on Pull Requests
🏆 mkitzan
🏆 j4james
Give us Feedback!
If you have any questions or comments, feel free to reach out to Kayla (@cinnamon_msft) on Twitter. If you find any bugs or would like to request new features, you can file an issue on GitHub! We hope you like our latest release! 😊
Are there any plans to add Serial connections to Windows Terminal?
这个看起来很好,但是这种样式我好像在其他linux系统上见过
Does anybody know why Terminal says?
Besides retro terminal effects in the screenshot, which font exactly do you use over there?
In the first screenshot, how are you displaying the git branch information? I really like this layout with the coloured flags and the cursor on the next line.
It’s oh-my-posh module with Paradox theme
https://github.com/JanDeDobbeleer/oh-my-posh
Awesome, thanks Alexey!
I have the same question. I want that look. I have both the terminal and the psCore.
Love the retro CRT look, adds so much character to a terminal.
Lovely! Can’t wait to get my hands dirty
At the end you say it’s
titleWidthMode
, but it’s actuallytabWidthMode
.I can’t remember the last time I was this excited about a terminal. Go team, go. We love the updates!
I think this is the most anticipated update for quite a while. I have been waiting for this and I am sure many others are going to enjoy the new pimped up terminal. I added WSL feature only to use a nice looking terminal but that came with unnecessary huge space allocation for Linux and that was very slow as well. I am glad that it finally arrived. I am going to be among...