一、前言

Windows 终端是一个面向命令行工具和 shell(如命令提示符、PowerShell 和适用于 Linux 的 Windows 子系统 (WSL))用户的新式终端应用程序。 它的主要功能包括多个选项卡、窗格、Unicode 和 UTF-8 字符支持、GPU 加速文本呈现引擎,你还可用它来创建你自己的主题并自定义文本、颜色、背景和快捷方式。

以上内容引用自:Windows 终端概述 | Microsoft Docs

其最大的优点,在于他是微软公司的开源产品。

同时,微软也推出了开源的Powershell Core,微软终于有可以用的终端了!

Windows Terminal + Powershell Core的搭配,真心推荐入手一下子了。后续有可能会继续介绍下WSL(Windows Subsystem for Linux)。

好的,废话就这么多,走起。

二、安装Powershell Core

Powershell Core:这玩意儿和Windows自带的Powershell基本可以算是两个不同的东西了,相较于Windows 10自带的Powershell的颜值低,速度慢,错误提示冗长等等缺点,Powershell Core改变了太多。而且Powershell Core是.Net Core 跨平台战略的一个重要组成部分,其目的使.Net 在所有平台上通用。

在版本上,Powershell沿用了之前Powershell的版本号,现在主流Core版本号为7,最新版为7.3 Prerelease和7.2 LTS。本人选择的是7.2版本。

Windows Powershell(Windows自带的Powershell)

Powershell Core 7.2

至于安装,请参考官网:

微软页面https://docs.microsoft.com/zh-cn/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.2

Githubhttps://github.com/PowerShell/PowerShell

三、安装Windows Terminal

介绍上面简单提过了,咱们直接安装。

微软页面https://docs.microsoft.com/zh-cn/windows/terminal/

Githubhttps://github.com/microsoft/terminal

微软页面会调用Microsoft Store,这里就不介绍了,点两下就可以了。

Github在Releases下载的名为:Microsoft.WindowsTerminalPreview_1.13.10395.0_xxxxxxxx.msixbundle的文件,其中加粗部分可能根据版本不同而变化,推荐直接改名为Microsoft.WindowsTerminal.msixbundle。

上面咱们不是安装了Powershell Core吗?打开一个Powershell窗口,输入下面的命令进行安装:

Add-AppxPackage Microsoft.WindowsTerminal.msixbundle
# Microsoft.WindowsTerminal.msixbundle 为Github下载下来的文件名,根据自己情况修改

大概率第一次安装会报错:

Appx报错,不过咱们是有准备而来

输入以下代码导入Appx模块即可:

Import-Module Appx -UseWindowsPowerShell

通过此方法安装没有快捷方式,运行方法为开始-所有程序-终端,可以在开始中把“终端”拖到任意位置生成快捷方式。

四、简单美化

Windows Terminal已经安装完成,无特殊说明以下操作均在Windows Terminal中的Powershell Core窗口中进行。

先安装Powershell Core,后安装Windows Terminal的话,打开Windows Terminal终端会默认使用Powershell Core窗口打开。

1. 安装及启用oh-my-posh

输入以下代码安装oh-my-posh:

Install-Module oh-my-posh

输入Y确认安装

输入以下代码启用oh-my-posh:

Import-Module oh-my-posh
# 导入oh-my-posh模块

Set-Theme Agnoster
# 设置使用Agnoster这个主题

Set-PoshPrompt Agnoster
# 如果上述命令报错,可尝试使用这条命令,官方更推荐上面的命令

启用oh-my-posh

Import-Module 是固定导入命令,想玩Powershell请记住这个命令

2. 设置字体

那么问题来了,启用oh-my-posh后,虽然颜色鲜艳好看了,但是会有乱码出现,这其实是正常现象,因为oh-my-posh使用的是Nerd字体。我们只需要安装任意一款Nerd字体,并将界面显示字体改为Nerd字体即可。

这里推荐一个网站https://www.nerdfonts.com/font-downloads

有很多的字体下载,下载后解压缩,复制到C:\Windows\Fonts即可,记得新安装字体需要从新打开终端。

我个人选用的是JetBrainsMono Nerd Font

安装完字体,在终端顶部点击向下的箭头,选中设置:

左侧配置文件选择默认值(修改默认值以后所有通过Windows Terminal打开的窗口都生效,如果不想修改默认值请选择相应窗口修改)-外观-字体-选择Nerd字体:

效果如下:

刚刚设置的只是打开Windows Terminal显示的字体,为了以后单独打开Powershell时不会显示乱码,顺便把Powershell的字体也设置了。

打开任意Powershell窗口,在标题栏右键点击,选择默认值:

弹出窗口选择字体选项卡,选择Nerd字体即可:

3. 设置oh-my-posh主题

oh-my-posh有非常多的现成主题可以选择,样子请参考官方文档

本人比较喜欢第一个主题:agnoster,但是他的目录不是全部路径,且我不需要显示计算机名及用户名,所以对默认主题相应的进行了修改,如果嫌麻烦的可以跳过这一部分。

本地安装时自带的主题目录在:C:\Users\YOURUSERNAME\.oh-my-posh\themes

首先备份agnoster.omp.json文件,根据自己的需求进行简单的修改,可以自己修改尝试下,修改错了可以恢复备份的文件即可。

我的修改后效果如下(第二次设置主题后为修改后效果,显示全部路径,取消主机名和用户名,保留了git分支):

如果引用其他非自带主题的话,可以使用下面命令启用:

Invoke-Expression (oh-my-posh --init --shell pwsh --config "C:\Users\kevinnots\.oh-my-posh\themes\agnoster.omp.json")
# 将最后面的路径替换为引用主题路径及json文件名即可

4. 安装DirColors

DirColors的作用就是在ls(其实Windows默认命令是dir)查看目录时,给目录、可执行文件着色,根据自己需求来选择。

以下命令安装并启用:

Install-Module DirColors
# 安装DirColors

Import-Module DirColors
# 导入DirColors模块

效果如下:

5.修改Powershell配置文件

默认状态下,导入模块只对当前窗口有效,为了每次打开终端或Powershell时,不需要重复输入代码导入模块,可以将模块导入命令写入Powershell配置文件中,相当于Linux的/etc/bashrc/etc/profile文件。

Powershell有四种配置文件,分别为:本主机本用户,所有主机本用户,本机所有用户,所有主机所有用户。根据自己情况自行选择。如果搞不懂四种配置文件区别的可以选择本机本用户来使用。查看配置文件路径命令为:

$PROFILE
# 本主机本用户配置文件存档路径

$PROFILE.AllUsersAllHosts
# 所有主机所有用户配置文件存档路径

如果是新安装的Powershell Core的话,大概率是没有配置文件的,可以使用以下命令生成配置文件:

本机本用户(直接复制进Powershell窗口,回车运行即可,如果有不会重复创建覆盖):

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

同理所有主机所有用户:

if (!(Test-Path -Path $PROFILE.AllUsersAllHosts)) {
  New-Item -ItemType File -Path $PROFILE.AllUsersAllHosts -Force
}

然后使用notepad(Windows自带记事本)打开配置文件:

notepad $PROFILE
# 打开本机本用户配置文件

notepad $PROFILE.AllUsersAllHosts
# 打开所有主机所有用户配置文件

打开配置文件后,将下列命令复制进去,保存退出即可:

Import-Module oh-my-posh
# 导入oh-my-posh模块

Set-PoshPrompt Agnoster
# 设置主题

Import-Module DirColors
# 导入DirColors模块

如果喜欢打开就是空的界面的话,也可以在配置文件最后加入一个cls来进行清屏。

更多详细内容可参考官方文档:https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7.2

小结

基本上就这样了,我只进行了最简单的美化,其实Windows Terminal的美化方式还有很多,毛玻璃,透明啊,背景啊之类的,基本的编辑器美化它都能实现。有需要的小伙伴可自行研究。

Thanks for your watching.

Last modification:February 20th, 2022 at 07:41 am
If you think my article is useful to you, please feel free to appreciate