Windows Terminal 尝鲜小记

前言

  Windows Terminal 正式版在两个月之前终于发布了,正好最近找了点时间尝尝鲜,感觉确实可以,Cmder 可以退休了。

尝鲜篇

  直接在 Microsoft Store 安装,顺便安装好 Powerline,执行以下三个命令:

1
2
3
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck // 使用 powershell core 则必选

然后执行 notepad $PROFILE ,在弹出的记事本中添加:

1
2
3
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox

重启 terminal,若出现 “无法加载文件 ***.ps1, 因为此系统上禁止运行脚本”,则需要执行 set-executionpolicy RemoteSigned,使powershell 能顺利执行该脚本。

  由于目前 Windows Terminal 不会自动注册右键快捷菜单,所以需要手动修改注册表,执行 mkdir "%USERPROFILE%\AppData\Local\terminal" 后,在网上找一个终端图标,命名为 wt_32.ico,将该图标复制到 %USERPROFILE%\AppData\Local\terminal 目录中, 新建 wt.reg 文件后直接双击执行,该注册表文件的内容如下:

1
2
3
4
5
6
7
8
9
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[user_name]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

其中 [user_name] 是使用者电脑的用户名,wt_32.ico 可以是随便找的一张缩略图,也可以直接用 icons - yanglr 中的 wt_32.ico。

  为了简单美化一下 Windows Terminal 界面,需要安装 Cascadia Code GitHub releases page 中 Cascadia Code PL 或 Cascadia Mono PL 字体,Shaun 因为只是尝鲜所以就简单配置了一下:

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
"theme": "dark",
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
},
"list":
[
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false,
"startingDirectory" : ".",
"acrylicOpacity" : 0.00000001,
"colorScheme" : "Campbell",
"cursorColor" : "#00CCFF",
"fontFace" : "Cascadia Mono PL",
"useAcrylic" : true
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "命令提示符",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
]
},

  为了在 VSCode 中使用 Windows Terminal ,需要简单设置一下默认终端,首先将设置默认终端 "terminal.integrated.shell.windows" 注释掉或者直接不设置,添加设置:

1
2
"terminal.external.windowsExec": "C:\\Users\\[user_name]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe",
"terminal.integrated.fontFamily": "Cascadia Mono PL",

如此可在 VSCode 中集成 Windows Terminal,并将其作为默认终端。

后记

  在这两三天的使用过程中,发现 Windows Terminal 和 Cmder 之间还是存在差距的(如在输入命令过快的时候,tab 键补全跟不上等问题),暂时就两者先并行使用一段时间吧,等后续更新巨硬修复这些问题,相信 Windows Terminal 是能代替 Cmder 成为 Windows 首选终端的。

参考资料

[1] 【避坑】PowerShell:因为在此系统上禁止运行脚本 附原因和解决办法

[2] 新发布的Windows Terminal如何添加到右键菜单?

[3] Setting Windows Terminal as Default External Terminal in Visual Studio Code