As mentioned in my earlier post about hidden gems in the Windows 10 eco system a very welcomed addition is Windows Terminal. Finally we get a well performing and capable terminal program that not only supports our beloved tabs and Unicode/UTF-8 but also a whole bunch of shells: CMD, PowerShell, WSL and even Git Bash.
See this video of a small ASCII-art code golf written in Julia and executed in a Windows Terminal PowerShell:The really curious may try running the code in the standard CMD-Terminal or the built-in PowerShell-Terminal…
But now on to some more productive tipps for getting more out of the already great Windows Terminal.
Adding a profile per Shell
One great thing in Windows Terminal is that you can provide different profiles for all of the shells you want to use in it. That means you can provide visual clues like Icons, Fonts and Color Schemes to instantly visually recognize what shell you are in (or what shell hides behind which tab). You can also set a whole bunch of other parameters like transparency, starting directory and behaviour of the tab title.
Nowadays most of this profile stuff can simply be configured using the built-in windows terminal settings GUI but you also have the option to edit the JSON-configuration file directly or copy it to a new machine for faster setup.
Here is my settings.json provided for inspiration. Feel free to use and modify it as you like. You will have to fix some paths and provide icons yourself.
Pimping it up with oh-my-posh
If that is still not enough for you there are a prompt theme engine like oh-my-posh using a command like
Install-Module oh-my-posh -Scope CurrentUser
and try different themes with
Set-PoshPrompt -Theme <name>. Using your customized settings for a specific Windows Terminal profile can be done by specifying a commandline to execute expressions defined in a file:
powershell.exe -noprofile -noexit -command \"invoke-expression '. ''C:/Users/mmv/Documents/PowerShell/PoshGit.ps1
PoshGit.ps1 contains the commands to set up the prompt:
Import-Module oh-my-posh $DefaultUser = 'Your Name' Set-PoshPrompt -Theme blueish
Even Microsoft has some tutorials for highly customized shells and prompts…
How does my Window Terminal look like?
Because seeing is believing take a look at my setup below, which is based on the instructions and settings.json above:
I hope you will give Windows Terminal a try and wish a lot of fun with customizing it to fit your needs. I feel it makes working with a command prompt on Windows much more enjoyable than before and helps to speed you up when using many terminal windows/tabs.
A final hint
You may think, that you cannot run Windows Terminal as an administrator but the option appears if you click the downward-arrow in the start menu: