Windows Terminal is a modern, fast, efficient, and extensible terminal application for users who can use command-line tools on Windows. This article provides an in-depth guide to customizing your Windows Terminal experience to boost productivity and personal aesthetics.
Getting Started with Settings
Windows Terminal's settings are managed through a JSON file. You can access this file directly by clicking the dropdown arrow next to the '+' tab button and selecting 'Settings', or by pressing Ctrl + ,
.
The settings.json
File
The settings.json
file is the heart of your customization. It's structured in a hierarchical manner, allowing you to define global settings, profiles for different shells, and color schemes.
Customizing Profiles
Profiles define the behavior and appearance of individual terminal instances. You can create profiles for PowerShell, Command Prompt, WSL distributions (like Ubuntu or Debian), Azure Cloud Shell, and more.
Key Profile Settings:
guid
: A unique identifier for the profile.name
: The name displayed in the tab and dropdown menu.commandline
: The executable to run (e.g.,"powershell.exe"
,"wsl.exe -d Ubuntu"
).hidden
: Set totrue
to hide the profile from the UI.icon
: Path to an icon file (e.g.,.ico
,.png
) for the profile.startingDirectory
: The initial directory for the terminal session.font
: Customize the font family, size, and weight.colorScheme
: Assign a pre-defined or custom color scheme.useAcrylic
: Enable or disable acrylic transparency effects.backgroundImage
: Set a background image for the terminal.backgroundImageOpacity
: Control the opacity of the background image.cursorShape
: Choose the cursor style (e.g.,"bar"
,"underscore"
,"filledBox"
).selectionBackground
: The background color when text is selected.
Example PowerShell Profile:
{
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "PowerShell",
"commandline": "pwsh.exe",
"hidden": false,
"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}/powershell.png",
"font": {
"face": "Cascadia Mono",
"size": 12,
"weight": "normal"
},
"colorScheme": "Campbell",
"useAcrylic": true,
"backgroundImage": "ms-appx:///ProfilePics/background.jpg",
"backgroundImageOpacity": 0.2,
"cursorShape": "underscore",
"selectionBackground": "#0078D7"
}
Color Schemes
A visually appealing terminal can significantly improve your coding experience. Windows Terminal supports custom color schemes, which you can define or import.
Defining Custom Color Schemes
Color schemes are defined within the schemes
array in settings.json
. Each scheme has a name
and an array of colors
.
"schemes": [
{
"name": "Solarized Dark",
"cursorColor": "#839496",
"selectionBackground": "#002b36",
"background": "#002b36",
"black": "#073642",
"blue": "#268bd2",
"cyan": "#2aa198",
"green": "#859900",
"red": "#dc322f",
"white": "#93a1a1",
"yellow": "#b58900",
"purple": "#6c71c4",
"orange": "#cb4b16",
"brightBlack": "#002b36",
"brightBlue": "#268bd2",
"brightCyan": "#2aa198",
"brightGreen": "#859900",
"brightRed": "#dc322f",
"brightWhite": "#fffffd",
"brightYellow": "#b58900",
"brightPurple": "#6c71c4",
"brightOrange": "#cb4b16"
}
]
Advanced Customization
Key Bindings
Customize keyboard shortcuts for common actions like opening new tabs, splitting panes, or copying/pasting.
"keybindings": [
{
"command": { "action": "copy" },
"keys": "ctrl+shift+c"
},
{
"command": { "action": "paste" },
"keys": "ctrl+shift+v"
},
{
"command": { "action": "newTab", "profile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}" },
"keys": "ctrl+alt+p"
}
]
Global Settings
Apply settings globally across all profiles, such as default font, theme (light/dark), and launch behavior.
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"theme": "dark",
"firstTabWidthMode": "equal",
"launchMode": "default"
settings.json
before making significant changes.
Troubleshooting
If your terminal isn't behaving as expected, try the following:
- Validate your
settings.json
for syntax errors. - Check for typos in profile names, GUIDs, or command lines.
- Ensure that any custom fonts or images are correctly referenced.
- Restart Windows Terminal after making changes.
Conclusion
By leveraging the extensive customization options in Windows Terminal, you can create a powerful, personalized, and efficient command-line environment. Experiment with different settings, color schemes, and key bindings to find what works best for your workflow.