【31】Windows Terminal 配置

简介

Windows Terminal 可以说是现在 Windows 平台最香的 Terminal 应用了。巨硬官方出品,开源,颜值在线,足够流畅,没有编码/字体问题,多标签支持,emoji 支持,可以说找不到第二个这么牛逼的了。

目前 Windows Terminal 在 Preview v0.7 版本。从 7 月份的第一个公开预览版到现在 12 月,快半年时间的打磨,已经没有太多影响体验的大 Bug 了。经过一阵的使用,我毅然抛弃了包括 cmd,PowerShell,Powershell Core,Linux Bash,Git Bash,Cmder 在内的一切 Terminal,Windows Terminal 大法好。下面记录一下配置过程。

安装

微软商店搜索 Windows Terminal (preview) 安装即可。

WT 配置

一切配置以 官方文档 为准。

Json 配置文件的编辑说明可以看 这里这里

在 WT 的菜单里点击 Settings 就可以打开 Json 配置文件。按住 alt 键点击 Settings 则可以打开默认配置文件,可以用于参考。参考默认配置后,我把我的配置设置成如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "initialCols" : 100,
    "initialRows" : 30,

    "profiles":
    [
        {
            "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
            "hidden": false,
            "name": "Ubuntu",
            "source": "Windows.Terminal.Wsl",
            // "startingDirectory": "//wsl$/Ubuntu/home/steve",
            "startingDirectory": ".",
            "closeOnExit": true,
            "colorScheme": "One Half Dark",
            "cursorColor": "#FFFFFF",
            "cursorShape": "bar",
            "fontFace": "Delugia Nerd Font",
            // Cascadia Code PL
            // Delugia Nerd Font
            "fontSize": 12,
            "historySize": 9001,
            "padding": "8, 8, 8, 8",
            "snapOnInput": true,
            "useAcrylic": true,
            "acrylicOpacity": 0.8
        },
        {
            "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
            "name": "Powershell Core 6",
            "commandline": "pwsh.exe",
            "hidden": false,
            // "startingDirectory": "%USERPROFILE%",
            "startingDirectory": ".",
            "closeOnExit": true,
            "colorScheme": "One Half Dark",
            "cursorColor": "#FFFFFF",
            "cursorShape": "bar",
            "fontFace": "Delugia Nerd Font",
            "fontSize": 12,
            "historySize": 9001,
            "icon": "ms-appx:///ProfileIcons/{574e775e-4f2a-5b96-ac1e-a2962a402336}.png",
            "padding": "8, 8, 8, 8",
            "snapOnInput": true,
            "useAcrylic": true,
            "acrylicOpacity": 0.8
        },
        {
            // Make changes here to the powershell.exe profile
            "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
            "name": "Windows PowerShell",
            "commandline": "powershell.exe",
            "hidden": false,
            "startingDirectory": ".",
            "colorScheme": "One Half Dark",
            "fontFace": "Delugia Nerd Font",
            "useAcrylic": true,
            "acrylicOpacity": 0.8
        },
        {
            // Make changes here to the cmd.exe profile
            "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "cmd",
            "commandline": "cmd.exe",
            "hidden": false,
            "startingDirectory": ".",
            "colorScheme": "One Half Dark",
            "fontFace": "Delugia Nerd Font",
            "useAcrylic": true,
            "acrylicOpacity": 0.8
        },
        {
            "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
            "hidden": true,
            "name": "Azure Cloud Shell",
            "source": "Windows.Terminal.Azure"
        }
    ],

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}

其中主要调整的几个点:

  1. 添加了 Powershell Core 6,并调整了各个 Shell 的顺序,优先打开 WSL。
  2. 把启动路径改成了 .,便于之后使用右键菜单“在此处打开”。(startingDirectory
  3. 颜色主题改成了自带的 One Half Dark。(colorScheme
  4. 字体改成了 Delugia Nerd Font。这是一个打包了 Nerd FontsCascadia Code 的非官方版本。如果你只需要 Powerline 相关的字体,那也可以选择官方的 Cascadia Code PL 字体。(fontFace
  5. 启用了毛玻璃效果。(useAcrylicacrylicOpacity
  6. 调整了初始的窗口大小设置。(initialColsinitialRows

主题

调整完上述 WT 设置后,WT 就已经足够好看了。下面我们让 Powershell 和 fish 在 WT 里更好看一点。利用 oh-my-poshoh-my-fish 这两个项目,分别给 Powershell 和 fish 加上 Powerline 和 Git 状态显示。

oh-my-posh

按照文档安装配置即可。

在 Powershell 中键入以下命令安装:

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

Powershell Core 用户需要额外安装 PSReadLine

1
Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck

输入 code $PROFILE 用 vscode 打开配置文件(或者用其他任何编辑器),在最后加入:

1
2
3
4
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster
$DefaultUser = '<YOUR-USERNAME-HERE>'

重启窗口即可生效。这样就把主题设置为了 Agnoster,当然也可以选择其他你喜欢的主题。另外设置了默认用户名,这样在默认用户下可以隐藏开头的 用户名@机器名 提示字符串。

oh-my-fish

按照文档安装配置即可。

直接在命令行输入以下一行即可安装:

1
curl -L https://get.oh-my.fish | fish

安装完毕后,就可以安装设置自定义主题了。输入以下命令安装并应用 Agnoster 主题:

1
2
omf install agnoster
omf theme agnoster

当然你也可以使用其他你喜欢的主题

至此,整个美化就完成啦!

添加到右键菜单

最后,我们想要在右键菜单中添加 在此处打开 Windows Terminal 或者 Open WT here 的选项。

可以直接参考这篇把 Linux Bash 添加到右键菜单的文章:How to launch Bash shell from right-click context menu on Windows 10

唯一的不同就是里面的描述文字需要更改成 Windows Terminal / WT,启动指令需要改成 C:\Users\<YOUR-USERNAME-HERE>\AppData\Local\Microsoft\WindowsApps\wt.exe。另外,图标也需要改成 WT 的图标,可以从这里下载。

因此流程为:

  1. 到注册表编辑器里找到 HKEY_CLASSES_ROOT\Directory\Background\shell 项。
  2. 在该项下新建一个项,命名 WindowsTerminal
  3. 点击新建的这项,将默认值修改为 Open WT here
  4. 在该项下新建一个字符串值,名称为 Icon,值为图标路径。(该项操作可选)
  5. WindowsTerminal 项下再新建一项,命名为 command
  6. 将这项的默认值修改为启动 WT 的路径,一般为 C:\Users\<YOUR-USERNAME-HERE>\AppData\Local\Microsoft\WindowsApps\wt.exe

操作完成,在文件夹里右击就会出现 Open WT here 的选项啦。


本文阅读量
本站访客量