「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」
windows Terminal
Windows Terminal 是微软公司2019年发布的新命令行程序,是一个套在 Windows 操作系统原本的 CMD、Powershell、Windows Subsystem for Linux(WSL)之上的一个界面更加漂亮、功能更加强大的终端工具
windows Terminal优势
- 现代化
可DIY的界面,抛弃一成不变的终端样式 - 完整的字体字符渲染机制(包括 Emoji、中文)
- 和 Windows 统一的 Fluent 设计风格
- GPU 加速
- 同时支持 PowerShell、CMD 以及 Windows Linux 子系统(WSL)
- 默认 Tab 标签模式,无需新建多个终端
当然俺用这个只是因为想要一个好看一点的终端
安装方法
- 用户可以自行在Microsoft应用商店搜索windows Terminal安装,不过不得不吐槽,国内有时候登啥微软账号或者是在这个应用商店下东西,登录和下载是真的很看运气,反正我是等了很久没在这下下来

- 在github下载适合版本安装,链接在此

PowerShell Core
Microsoft发布了 PowerShell Core ,这是 PowerShell 的新版本。 PowerShell的新版本可用于所有主要计算平台,包括Windows,Linux和MacOS。我们win10电脑一般自带的是PowerShell5
首先和最重要的区别是PowerShell Core是跨平台的并且可以在Windows,Linux和MacOS上运行,而旧版本只能在Windows上运行。PowerShell Core将提供新的功能更新和修复,而较旧的PowerShell将仅提供错误修复和安全更新
安装方法
下载链接选择msi文件安装

oh-my-posh
oh-my-posh有点类似于ubuntu的oh-my-zsh,里面有很多主题
安装一些模块的oh-my-posh
# PSReadline
Install-Module -Name PSReadLine -AllowPrerelease -Force
# posh-git
Install-Module posh-git -Scope CurrentUser
# oh-my-posh官方文档支持的手动下载
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
前两个安装命令应该没什么问题,oh-my-posh很有可能这样下载不成功
命令行下载oh-my-posh不成功的解决办法
-
首先下载安装的命令添加
-Verbose来显示安装过程的log,,也就是:Install-Module oh-my-posh -Force -Verbose -
然后观察下面的输出,,找到要安装的
oh-my-posh的实际网址,例如我现在安装的就是6.2.0版本的:https://www.powershellgallery.com/api/v2/package/oh-my-posh/6.2.0,(这个链接可能会变化,因为链接一般是指向最新版本) -
把链接放进浏览器enter,浏览器回直接下载,下载的文件是
.nupkg格式的,,修改后缀为.zip解压 -
然后将解压后的文件夹放到 powershell 的 modules 文件夹下,,比如说,我这里要为powershell Core安装oh-my-posh,powershell的实际安装路径是这个:
C:\Program Files\PowerShell\7,解压的文件夹放置的路径就为:C:\ProgramFiles\PowerShell\7\Modules\oh-my-posh\6.2.0,这样oh-my-posh就安装成功了

oh-my-posh设置主题
旧版主题设置
// 旧版,请看下方新版进行设置
Import-Module PSReadLine
Import-Module posh-git
Import-Module oh-my-posh (失效)
Set-PoshPrompt -Theme M365Princess (失效)
// 新版(采用)
Import-Module PSReadLine
Import-Module posh-git
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\M365Princess.omp.json | Invoke-Expression
如果你只是在当前终端输入这些命令,而没有记录在配置文件中,那么下次打开终端使用这些东西,还需要再一次输入相应命令。另外Set-PoshPrompt -Theme M365Princess是旧版本oh-my-posh设置主题的命令(M365Princess是主题名),新版本需要采用 oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\M365Princess.omp.json | Invoke-Expression 需要设置环境变量 POSH_THEMES_PATH 。使用Get-PoshThemes命令能查看目前版本所有的主题显示。
新增或打开PowerShell Core配置文件
用记事本打开配置文件 notepad $PROFILE
在其中添加下面的内容
// 旧版,请看下方新版进行设置
Import-Module PSReadLine
Import-Module posh-git
Import-Module oh-my-posh (失效)
Set-PoshPrompt -Theme M365Princess (失效)
// 新版(采用)
Import-Module PSReadLine
Import-Module posh-git
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\M365Princess.omp.json | Invoke-Expression

字体的设置
需要注意的是,oh-my-posh 主题使用了一些非 Powerline 字体不支持的字符,因此如果你使用默认的等宽字体(比如 Consolas),在显示过程中就会出现乱码、字符显示不全的现象
我们需要下载适合的字体,并设置,链接在此,Cousine Nerd Font和DejaVuSansMono Nerd Font都显示正常,我使用的是Cousine Nerd Font,打开windows Terminal,将powershell Core设置为默认终端(注意之前的oh-my-posh一系列安装配置都是在powershell Core上面),打开json文件,如图配置字体,然后主题就不会乱码了



VScode相关设置
当你设置好上面的操作后,你的VScode也会有相应的变化,但如果不设置字体,也会出现主题显示也会有问题,在设置里将终端的字体样式也改成Cousine Nerd Font(注意是修改VScode终端的,不是VScode整体的字体),这样主题也能在VScode终端上完美显示

