着实有点久远了,上个月在网上东拼西凑出来了一个比较美观的powershell,但有人问起怎么做的时候……却发现好像没发回答(是我瞎折腾折腾出来的),于是打算写篇博客

这个是它本来的样子,丑丑的蓝色,让人没有想用它的念头

改造后是这样子的

装上Windows Terminal

首先是装上windows terminal,在微软的应用商店里

装完之后当然不是直接替代了powershell,而是成为了一个独立的应用,作为一种框架一样的存在,可以同时方便的启动cmd,powershell等等的终端

还是很丑.jpg (这个框框的颜色是跟着你的系统来的,如果是深色颜色会是黑色的框框)

装点花里胡哨的东西

这块的东西网上都能很容易的找得到

首先是要挂个代理(强烈建议,不然……哼哼)

不过这个就要自己去弄了,自己百度哈哈

嗯……这个教程做了一半,突然发现新姿势,可以不需要科学上网,请转到下面的便捷版教程(页面右侧有目录可跳……嘻嘻),但是如果能翻墙的,起码将下面头两个先装了

首先是要运行这个命令Install-Module posh-git -Scope CurrentUser,如果遇到下面的提示,请直接回车(如果默认值不是Y请输入y再回车)

然后过一会后可能会出现这个提示,输入a然后回车

然后是这个,
Install-Module oh-my-posh -Scope CurrentUser Install-Module windows-screenfetch -Scope CurrentUser(仓库里的windows-screenfetch实测是有问题的,这条命令不建议使用,建议直接跳到下面的便捷版教程安装)
和上面是一样的操作

为了保证它们的运行,我们还需要给第三方脚本赋予运行权限,执行下面的命令
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm

做到这里建议大家忽略掉上面的教程,直接看下面的便捷版(做完的人不用慌张,把目录"文档\WindowsPowerShell\Module"里的内容清空就恢复原样了,赋权命令之后也要做的)

便捷版教程

powershell的仓库很慢,所以给出不需要的方法……那就是手动下载安装!

先列出来我们需要装的东西:oh-my-posh、posh-git、windows-screenfetch、Get-ChildItemColor(这个是在显示文件的时候调颜色的,可不装)

1. oh-my-posh 安装

先装oh-my-posh,github release:https://github.com/JanDeDobbeleer/oh-my-posh/releases ,直接下载zip包,解压到"文档\WindowsPowerShell\Module" 中,如图所示

如果想要后期能通过powershell升级的,建议将里面的东西存到以版本号为名的文件夹中,如下图(之后的module也是这样,以后就不讲了)

2. posh-git 安装

GitHub release:https://github.com/dahlbyk/posh-git/releases

建议下载非beta版的,比较稳定,下载的话就直接是下载源码的(没有像之前的oh my posh那样有zip直接装)

在module目录下新建个叫posh-git的文件夹,将源码里的src文件夹直接解压进去,像这样

然后把src改成当前版本号就行了

3. windows-screenfetch 安装

嗯……其实这个玩意的原作者和仓库里的原作者都已经弃坑了,去github看了看,两年前的大问题到现在都没修复,so,这里贴出我的版本https://github.com/MomentDerek/windows-screenfetch

直接把源码下载下来,和上面一样,新建一个windows-screenfetch文件夹,拖进去就行

4. Get-ChildItemColor 安装

https://github.com/joonro/Get-ChildItemColor

安装过程和posh-git同理

5. powerline支持字体的安装

powerline是一种用在命令行里的字体标准,像一般字体是不会支持这个标准的,在这里推荐一款字体:更纱黑体

https://github.com/be5invis/Sarasa-Gothic

不过这玩意的字体家族不了解的人看的实在是一脸懵逼,个人比较喜欢的是用MonoT来编程,然后剩下的参数大家应该都知道light,bold来表示粗细啊,sc表示简体中文……等等,我使用的是Sarasa-MonoT-SC-Regular

它的字体包包括了所有的字体族,200多M,没必要的可以选择下载我这里上传的(这个是截止2020.2.14日的最新版) sarasa-monoT-sc-regular.zip(但肯定能慢的你怀疑人生),大家还可以百度一下

安装完以后,需要将它应用

首先是在windows的设置-个性化-字体里面搜索“更纱”,然后点进去看,看看字体安装完后的名字

像上面就能看到全称是“等距更纱黑体 T SC”,这里要注意是regular还是别的

然后打开windows terminal的配置文件,如下图

找到powershell的配置项(如果用vscode等软件打开会更好看些,但是虚拟机没有)

加入这些配置:

"fontFace" : "等距更纱黑体 T SC",
"colorScheme" : "One Half Dark",

在“commandline”的powershell.exe后面加入空格+“-Nologo”,如下图

字体要换成自己的,colorscheme是自带的颜色风格的一种(逗号问题不了解的一定要上网搜一下json格式的文件配置),最好就直接像我这样加,不会出问题(是的,我花时间装了个vscode)

剩余的参数感兴趣的可以百度,修改完后会立刻看见变化(看不见的关掉再开一定能看到,看不到说明你配置错误)

配置启动文件

随后就进入了激动人心的启动文件配置

在powershell里面输入$PROFILE指令,查看配置文件的位置

然后进入指定的目录来打开这个文件(如果没有请自行创建)

输入以下内容(除了echo和clear,其他的应该都有安装过了(Set-Theme是oh-my-posh的),没印象的请检查一下前面的步骤)

#user content
clear;
screenfetch;
echo "Welcome back!";
Import-Module Get-ChildItemColor;
Import-Module oh-my-posh;
Import-Module posh-git;
Set-Theme PowerLine
#user content end

保存,然后……就可以检验结果了!

在windows terminal里面点个加号,多开个powershell,就能看到了

如果想要实现“右键在此处打开Windows Terminal”的话,欢迎来看看这个项目https://github.com/MomentDerek/Open_In_Windows_Terminal

常见问题

这意味着你没有装git或者没有将其加入环境变量,而posh-git是为了显示git状态的插件

如果还有别的问题欢迎提出来交流