Windows Terminal的配置

Windows Terminal的配置

Windows Terminal是微软官方开源发布的Shell环境集成Terminal,自发布以来就备受开发者的喜爱,Windows Terminal不仅开源免费,还拥有现代化的界面、完整的字体字符渲染机制(包括Emoji)、GPU加速和Fluent设计风格,让它成为了轻度Shell工作的不二选择,力压一众第三方终端以及 Windows 自带的默认终端。Windows Terminal与 WSL 一起,让不少先前非Linux不用的开发者朋友们向Windows倾斜。它和VSCode与PowerToys一起,成为了微软新开源三把梭。
其默认的界面已经十分美观了,但我们还可以让它变得外观更好看、功能更高级。
安装了oh-my-posh主题的Powershell+自定义过背景、字体、配色的WT

配置详解

Windows Terminal的配置文件一脉相承VSCode的风格,由Json文件编写。其主要包括以下部分:
- 全局设定global:这部分配置了默认窗口的大小,默认环境,快捷键设定等;
- 环境设定profile:这部分对WT可用的环境及其各自的个性化设定进行了配置;
- 色彩方案scheme:这部分定义了各环境可调用的色彩方案。

global

"globals" : 
    {
        /// 总是显示标签页,如关闭在只有1个环境打开时标签页不会显示
        "alwaysShowTabs" : true,
        /// 默认环境,配置打开时的默认环境,用该项的GUID作为识别
        "defaultProfile" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
        /// 初始行数与列数
        "initialCols" : 120,
        "initialRows" : 30,
        /// 快捷键设置
        "keybindings" : 
        [
            {
                "command" : "closePane",
                "keys" : 
                [
                    "ctrl+shift+w"
                ]
            },
            ……
            }
        ],
        /// 明暗主题设定
        "requestedTheme" : "system",
        /// 设置是否展示标题栏,false为展示(标题栏与标签页分开)
        "showTabsInTitlebar" : true,
        /// 设置系统读取的标题,true为当前环境标题,false为“Windows Terminal”
        "showTerminalTitleInTitlebar" : true,
        /// 读取分隔符,\u2502 为“|”符号
        "wordDelimiters" : " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502"

profile

"profiles" : 
    {
        /// Fluent Design Acrylic效果透明度
        "acrylicOpacity" : 0.5,
        /// 背景色
        "background" : "#012456",
        /// 退出时关闭
        "closeOnExit" : true,
        /// 色彩配置
        "colorScheme" : "shades-of-purple",
        /// 调用的Shell
        "commandline" : "powershell.exe",
        /// 光标颜色
        "cursorColor" : "#FFFFFF",
        /// 光标形状
        "cursorShape" : "bar",
        /// 字体
        "fontFace" : "mononoki",
        /// 字体大小
        "fontSize" : 10,
        /// 该环境的GUID编号
        "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
        /// 历史记录条数
        "historySize" : 9001,
        /// 图标
        "icon" : "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
        /// 环境名
        "name" : "Windows PowerShell",
        /// 背景图片
        "backgroundImage": "ms-appdata:///roaming/1.jpg",
        /// 背景展示模式
        "backgroundImageStretchMode": "uniformToFill",
        /// 背景透明度
        "backgroundImageOpacity": 0.6,
        /// Terminal与Shell的边界宽度
        "padding" : "0, 0, 0, 0",
        /// 自动滚动到输入行
        "snapOnInput" : true,
        /// 起始工作目录
        "startingDirectory" : "%USERPROFILE%",
        /// 是否启用Acrylic效果
        "useAcrylic" : true
    }

scheme

"schemes" : 
    {
        /// 色彩配置
        "name" : "Campbell",
        /// 前/背景色
        "foreground" : "#CCCCCC",
        "background" : "#0C0C0C",
        /// 亮色定义
        "brightBlack" : "#767676",
        "brightBlue" : "#3B78FF",
        "brightCyan" : "#61D6D6",
        "brightGreen" : "#16C60C",
        "brightPurple" : "#B4009E",
        "brightRed" : "#E74856",
        "brightWhite" : "#F2F2F2",
        "brightYellow" : "#F9F1A5",
        /// 基本色定义
        "cyan" : "#3A96DD",
        "green" : "#13A10E",
        "purple" : "#881798",
        "red" : "#C50F1F",
        "white" : "#CCCCCC",
        "yellow" : "#C19C00",
        "black" : "#0C0C0C",
        "blue" : "#0037DA"
    },

自定义

给Powershell换个主题

默认的Powershell长这个样子:
Powershell

暗蓝色背景,白色宋体字体,很标准的上世纪设计。能用,但很丑。
而经过简单设置后,你的Powershell就可以变成这样:
更纱黑体+主题,图源:https://sspai.com/post/52868

更换字体

由于Powershell的限制,只有TrueType字体才能被加载,而该字体还要满足Powerline的很多特殊字符。考虑到我们还有CJK字符的要求,目前最好的方案就是更纱黑体(Sarasa Gothic)
在其GitHub Release页面下载并执行安装后,打开Powershell,右键标题栏,选择属性;
ps字体设置1
在“字体”选项卡中选择合适的字型和字号。
ps字体配置2

安装主题

Powershell常用的主题引擎为oh-my-posh,你可以通过在Powershell中执行以下指令来安装:

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

安装成功没有提示,如出现警告请全部允许。
安装完毕后,使用以下指令在当前ps进程中启用默认主题:

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster

如出现无法执行脚本错误,请运行如下指令:

Set-ExecutionPolicy RemoteSigned

来允许远程已签名脚本运行。
如要每次开启都自动应用主题,执行如下操作:
1. 执行指令if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }来创建用户配置文件;
2. 执行notepad $PROFILE来用记事本打开配置文件
3. 在配置文件末尾添加如下行:

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster

就可以在每次开启时自动应用主题了。

WT的自定义

新建/更改环境配置

大部分情况下,WT会自动检测系统上已有的Shell并自动创建环境配置,但有些时候它不会检测(如Git Bash)。这时就需要我们手动创建环境配置了。
方法:
复制以下Json模板并拷贝到设置文件中:

{
        /// Fluent Design Acrylic效果透明度
        "acrylicOpacity" : 0.8,
        /// 背景色
        "background" : "#012456",
        /// 退出时关闭
        "closeOnExit" : true,
        /// 色彩配置
        "colorScheme" : "<Color Scheme>",
        /// 调用的Shell
        "commandline" : "<Shell Path>",
        /// 光标颜色
        "cursorColor" : "#FFFFFF",
        /// 光标形状
        "cursorShape" : "bar",
        /// 字体
        "fontFace" : "<Font Name>",
        /// 字体大小
        "fontSize" : 10,
        /// 该环境的GUID编号
        "guid" : "<guid>",
        /// 历史记录条数
        "historySize" : 9001,
        /// 图标
        "icon" : "<Icon Path>",
        /// 环境名
        "name" : "<Environment name>",
        /// 背景图片
        "backgroundImage": "<Image Path>",
        /// 背景展示模式
        "backgroundImageStretchMode": "uniformToFill",
        /// 背景透明度
        "backgroundImageOpacity": 0.6,
        /// Terminal与Shell的边界宽度
        "padding" : "0, 0, 0, 0",
        /// 自动滚动到输入行
        "snapOnInput" : true,
        /// 起始工作目录
        "startingDirectory" : "%USERPROFILE%",
        /// 是否启用Acrylic效果
        "useAcrylic" : true
    }

你需要更改的是所有<这样的内容>

  • <Color Scheme> 改为下文色彩配置中的"name"键值
  • <Shell Path> 改为你的Shell路径。如在环境变量中可直接填exe名。在exe名后添加指令可在启动时自动执行。
  • <Font Name> 改为你想要的字体名称。可在C:\Windows\Fonts\查看。
  • <guid> 改为该配置的GUID。可以在Powershell中用New-GUID指令生成。
  • <Icon Path> 改为该配置的图标路径。
  • <Environment name> 改为该环境的名称。
  • <Image Path> 改为该环境的背景路径。此键值可与下两个一并删除以保留纯色背景。

几个常见的Shell的路径和图标路径:

Shell 路径 图标
Python IDLE python.exe(安装时配置了环境变量) 安装目录/Lib/test/imghdrdata/python.png
Git Bash 安装目录/bin/bash.exe --cd-to-home 安装目录/mingw64/share/git/git-for-windows.ico

你也可以在用户目录/AppData/Local/Packages/Microsoft.WindowsTerminal_xxxx\RoamingState下存储背景/图标并用ms-appdata:///roaming/<文件名>的方式调用。

添加色彩配置

iTerm2为许多Terminal提供了配色方案,WT也不例外。在该仓库中打开windowsterminal文件夹即可看到Json格式的色彩配置。你可以在iTerm2上预览效果后在仓库中拷贝对应Json色彩配置并粘贴入配置文件,在前面环境配置中调用即可。

总结

Windows Terminal绝对是Windows上第一个兼顾速度、界面与可定制性的整合终端。作为微软开源战略下的全新创举之一,它代表了微软未来的对开发者业务方向。Windows Terminal 的出现可以说是直接拯救了多年来糟糕的Windows命令行体验,让 Windows在命令行环境下的操作感受能够与类Unix终端相比。相信,在接下来的版本迭代中,Windows Terminal 会随着设置 UI 界面化、插件系统的加入……而越来越强大。希望这篇文章能够让你重新体验到 Windows 命令行环境的强大,提升在 Windows 上的工作、开发效率。感谢阅读。

     

One comment

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

购物车
There are no products in the cart!
Subtotal
¥0.00
Total
¥0.00
Continue Shopping
0