admin 管理员组

文章数量: 887021

Windows Terminal教程

简介

2020年5月19日微软Build2020大会上正式发布了Windows Terminal,它将目前Windows系统上PowerShell、CMD、WSL和Azure云服务四大环境进行了统一,但也支持其他平台的终端,对于Windows开发者使用Windows Terminal是目前命令行工具的最好选择。

安装

官方建议使用Microsoft Store(微软商店),这是最简单的方法,可以保证你的Windows Terminal是最新版本,具体操作为:打开微软商店—>搜索Windows Terminal—>点击获取进行安装。

当然,也可以通过Github进行源码构建或者通过winget进行安装,具体可以查看官方README。

安装之后可以在开始菜单栏找到该软件,打开后默认命令行环境为PowerShell,毕竟PowerShell是目前微软主推的命令行环境。

使用教程

命令行环境配置

在不配置其他命令行环境的情况下,默认只有上图所示的三种命令行环境,下面演示如何添加Git Bash这个比较常用的命令行环境。

首先,点击上图的多种命令行环境下方的设置按钮,打开配置文件,这是一个json文件,定位到文件中的profiles配置,在其中的list中添加一项如下。

{
    "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b7}",
    "hidden": false,
    "name": "git bash",
    "commandline": "C:\\Program Files\\Git\\bin\\bash.exe"
}

之后,重启Windows Terminal后,打开之前的菜单可以看到多了一项如下图,此时可以打开Git Bash了。

主题美化

访问主题网站可以下载自己喜欢的主题,同时Terminal Splash也有大量的主题,这里以后面的网站为例,选择Miku主题,点击copy获取配置文件需要添加的内容。

在此前提到的配置文件中找到schemes节点,在其中添加复制得到的内容,注意务必对应其中的guid与前文提到的命令行环境的guid一致。例如,下面的配置就是针对PowerShell进行了主题配置。

  {
      "acrylicOpacity": 0.85,
      "background": "#373B3E",
      "backgroundImage": "",
      "backgroundImageAlignment": "bottomRight",
      "backgroundImageOpacity": 0.3,
      "backgroundImageStretchMode": "uniform",
      "closeOnExit": true,
      "colorScheme": "One Half Dark",
      "commandline": "powershell.exe",
      "cursorColor": "#FFFFFF",
      "cursorShape": "bar",
      "fontFace": "Consolas",
      "fontSize": 10,
      "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",  # 对应的命令行环境guid,和profile对应
      "historySize": 9001,
      "icon": "",
      "padding": "0, 0, 0, 0",
      "snapOnInput": true,
      "tabTitle": "Poweshell",
      "useAcrylic": true,
      "background": "#282C34",
      "black": "#282C34",
      "blue": "#61AFEF",
      "brightBlack": "#5A6374",
      "brightBlue": "#61AFEF",
      "brightCyan": "#56B6C2",
      "brightGreen": "#98C379",
      "brightPurple": "#C678DD",
      "brightRed": "#E06C75",
      "brightWhite": "#DCDFE4",
      "brightYellow": "#E5C07B",
      "cyan": "#56B6C2",
      "foreground": "#DCDFE4",
      "green": "#98C379",
      "name": "One Half Dark",
      "purple": "#C678DD",
      "red": "#E06C75",
      "white": "#DCDFE4",
      "yellow": "#E5C07B"
    }

当然,也可以添加命令行的背景图,只需要对命令行环境添加backgroundImage这一项其中填写背景图地址即可,例如使用上述主题的源码仓库中配置后,将PowerShell的配置修改如下。

 {
        // Make changes here to the powershell.exe profile.
        "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
        "name": "Windows PowerShell",
        "commandline": "powershell.exe",
        "hidden": false,
        "backgroundImage" : "D:\\Wallpapers\\background\\miku.png",
        "backgroundImageAlignment" : "bottomRight",
        "backgroundImageOpacity" : 0.30000001192092896,
        "backgroundImageStretchMode" : "uniform"
      },

此时,命令行主题和背景图均配置完成,效果如下。

Powershell美化

Windows也有类似oh-my-zsh这样在Linux和Macos上运行的命令行美化工具,名为oh-my-posh,安装命令如下。可能会遇到第三方安装的权限修改确认,一律输入大写的Y确认即可。下述命令均建议以管理员权限打开powershell运行,并且安装posh-git前务必已经安装适合windows版本的Git。

Install-Module posh-git -Scope CurrentUser
# 建议使用下面的命令
Install-Module oh-my-posh -RequiredVersion 2.0.465 -Scope CurrentUser
#若要安装最新版则用下面的命令替换上一行命令,但不保证配置还有效
Install-Module oh-my-posh -Scope CurrentUser

随后,激活并通过记事本编辑配置文件。

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

填写如下内容,前面三行表示激活oh-my-posh并设置主题为Paradox,最后一行是为了解决使用conda init powershell后在oh-my-posh下,环境名称前符号显示为方框的异常,该异常无法通过字体解决,通过下面第四行命令将该符号替换为字符ENV。

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox
$ThemeSettings.PromptSymbols.VirtualEnvSymbol = "ENV"

这里对上述内容进行一个修正,新版的oh-my-posh将Set-Theme指令修改为了Set-PoshPrompt命令,上述命令替换一下即可。

但是这个时候,你会发现,oh-my-posh很多符号无法显示,出现很多的框框,这些框框实际上是字符“&#x25AF”,因为oh-my-posh很多主题使用powerline字体,可以访问 Cascadia Mono 字体仓库下载字体,安装四种ttf字体,包括 Cascadia Code PL 或 Cascadia Mono PL,这两种是含有powerline字形的。


安装字体后,需要将配置文件增加两项的字体配置,如下图左后两行。

此时,字符显示均正常,conda环境名正常显示,git命令提示正确补全,美化方面的工作基本结束。

此时若是使用VSCode打开Terminal可能还是会出现乱码的情况,这时需要修改Terminal的字体配置,可以搜索“terminal font”找到下图这一项,并将其修改为上面安装的Powerline字体,比如这里我设置的是“Cascadia Code PL”。

分屏和多标签

多标签的功能显而易见,通过点击最上方的加号即可添加新的标签页,分屏功能则通过快捷键alt+shift+d可以实现,该功能是在当前窗口上等分出一个窗口,也就是说,反复使用可以形成如下所示。

右键菜单

使用命令切换目录对有界面的Windows很不方便,最常用的就是右键在当前目录打开命令行了,下面介绍如何在当前目录打开Windows Terminal。

首先,为了正常显示右键菜单的图标,需要先创建一个存放图标的文件夹,使用下面的命令即可(其中的user目录替换为自己的)。然后,将图标文件移动到该文件夹下即可(图标文件下载地址)。

mkdir "C:\\Users\16957\\AppData\Local\terminal"

接着,使用文本编辑器编写一个注册表文件terminal.reg,内容如下(其中用户目录同样替换为自己的即可),该文件添加了右击的选项。然后双击该文件进行注册(注意以管理员权限运行),无错误会显示正常添加 。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="C:\\Users\\16957\\AppData\\Local\\terminal\\wt_32.ico"

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

此时,shift+右击已经成功出现了需要的选项,点击它就会打开Windows Terminal了,不过,此时打开的Windows Terminal还是会打开默认的用户家目录而不是当前目录。

打开Windows Terminal的配置文件,在profiles节点的list的多个命令行环境中添加"startingDirectory": "./"选项,如为PowerShell添加后如下图。

此时,在当前目录右击打开Windows Terminal后就在当前目录成功打开命令行。

命令使用

Windows Terminal只是对各种不同的命令行环境做了一个集成,方便不同平台的使用,本质上命令还是原来的终端所使用的的命令,并没有什么区别,这里就不多提了。

补充说明

本文主要介绍Windows Terminal的安装和配置教程,使用的问题可以访问官网源码仓库提出issue,不过由于Windows Terminal不断更新,本文配置可能后续会有不合适的地方,建议参考官方文档。

本文标签: 教程 Windows terminal