How To Fully Customize Your Windows Terminal!

No longer should your Terminal be blah! Windows Terminal is an enhanced, fully customizable Windows-based Terminal tool which is a huge step above the traditional command prompt and even the PowerShell command line – not to mention it fully supports Azure Cloud Shell, natively as well as Windows Server Linux (WSL). At the time of writing this blog post there are 2 flavors available – Windows Terminal and Windows Terminal Preview, both of which are available to be downloaded from the Microsoft Store, which is the recommended method. Just note that Windows Terminal requires Windows 10 1903 (build 18362) or later. What is cool is both versions of Windows Terminal can be run side-by-side!

Windows Terminal
Windows Terminal Preview

Besides the Windows Store you can also get your copy of Windows Terminal via Chocolately or Winget…This is useful if you choose to include Windows Terminal in your standard server or workstation configs and installed post-process.

choco install microsoft-windows-terminal
winget install --id=Microsoft.WindowsTerminal -e

Once installed to launch Windows Terminal click Start and type: wt.exe

You will also want to download and install the Cascadia Code font too…It’s super clean and actually there’s a new update there too!

My Windows Terminal Customization!

I recommend the Windows Preview version – it is packed with the latest and greatest features and customizability. Here is what my Windows Terminal Preview looks like fully customized!

To customize your Windows Terminal there is 2 options:

  1. Via JSON and your favorite development tool (I personally really dig VSCode)

When you choose Settings via the UI, by default it will launch Settings.json

C:\Users\ClintWyckoff\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\

One thing I found interesting is that as you make changes to your settings, they are automatically backed up so you can quickly revert if things go awry – which is nice.

  1. The second option, if you’re running Preview there’s a UI! In the settings.json file – in the actions block place (don’t forget the end brackets to close the block). Before all settings were completely controlled via json, now there is a proper settings UI. Below is a code snipit which you can easily add to your settings json.
{ "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+shift+," },

So now, (here’s the 1.6 Release Announcement) with the cursor focus in WT when I hit ctrl+shift+, – The settings will launch.

Here is what my actual Terminal scheme settings look like – with background image, color scheme and image opacity (see through).

The few things here I will call out is the copyonSelect – Anytime I select any text in WT it’s automatically on my clipboard – cool! Second is the useAcrylic and acrylicOpacity. When my WT is in focus the terminal is opaquer (see through) than when it is not in focus. This is handy if you’re like me and have many windows open and lose track of where you’re at.

Scott Hanselman has a great blog here on how to customize the look and feel of the command line itself. If you are a frequent user of Git you will want to add these modules:

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

One last tip, I personally do not like the full long path in my terminal. I find it difficult to read the full line. I rather just print working directory (pwd) to see where I am in the file system. It is easy to shorten this, from your terminal type:

# Open notepad
notepad $PROFILE

# This goes in the $PROFILE
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox

function prompt {
 $p = split-path -leaf -path (Get-Location)
 "$p> "
}

You can get super creative with your terminal – brand it however you want and totally make it 100% YOUR OWN! I suggest you get on this straight away.

Lastly, there are a ton of custom color schemes here! Share your favorite schemes and terminal setups in the comments below! 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: