Beautify your PowerShell

PowerShell

Windows 一直以来都被很多非微软系程序员诟病,莫名奇妙的 bug 太多啊,经常蓝屏啊(这个是所有人都吐槽的),terminal 太弱太丑啊……的确,Windows 不是完美的系统,但也不至于说它彻底不适合开发。环境条件不行(待议),但人行啊,事在人为对不对。

对于程序员来说,terminal 是一个很重要的工具,其颜值和易用性很大一部分决定了开发效率的高低,在 Windows 上有两个 terminal ,很多人只知道黑不溜秋的cmd,却不知道高大上的Powershell 。

Windows PowerShell微软公司Windows环境所开发的壳程序shell)及脚本语言技术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。

UNIX系统一直有着功能强大的壳程序(shell),Windows PowerShell的诞生就是要提供功能相当于UNIX系统的命令行壳程序(例如:shbashcsh),同时也内置脚本语言以及辅助脚本程序的工具。

​ ——From 维基百科

Windows PowerShell 1.0 PD.pngWindows PowerShell 1.0 PD.png

powershell的默认界面是这个样子的,还是丑,对不对?丑没关系,我们可以调教啊

Step1 自定义界面

其实powershell 是支持自定义界面的

右键工具栏->属性

powerrshell settingspowerrshell settings

这个厉害了,字体、布局、颜色都可以自定义。

下面给出我配置的颜色及字体大小仅供参考:

屏幕背景:RGB(0,0,0)

屏幕文字:RGB(0,255,0)

不透明度:70%

字体大小:16

关于字体,微软对控制台字体的元数据有严格限制。

这些字体必须满足以下条件,可在命令会话窗口中:
 该字体必须是等宽字体。
 该字体不能为斜体字体。
 该字体不能有A或C负空间。
 如果是 TrueType 字体,则它必须是 FF_MODERN。
 如果它不是 TrueType 字体,则它必须是 OEM_CHARSET。
对于亚洲字体的附加条件:
 如果不是 TrueType 字体,字体名必须是“Terminal”。
 如果它是亚洲的 TrueType 字体,它还必须使用亚洲语言的字符集。

所以很多自带的字体都用不了,往往特别设计的字体才能支持控制台模式。这里推荐Belleve大神做的Inziu Iosevka字体,(其中,Inziu Iosevka SC/TC/J 和 Inziu IosevkaCC SC/TC/J 可以用于Terminal)

我用的是 Inziu Iosevka SC,设置完字体,效果是大概是这样的:

MyPowerShellMyPowerShell

变好看了许多,对不对!

Step2 posh-git + power-theme

posh-git 能让你在 PowerShell 中优雅的使用 Git。

Posh-git: A set of PowerShell scripts which provide Git/PowerShell integration.

Prompt for Git repositories

The prompt within Git repositories can show the current branch and the state of files (additions, modifications, deletions) within.

它能更改 Git 仓库中命令提示符的外观样式,让你直接能看到当前仓库的状态。

Pre-requisites

检查 PowerShell 的执行策略是否允许执行未知脚本,以管理员身份打开PowerShell,输入:

Set-ExecutionPolicy RemoteSigned

安装 posh-git

Install-Module posh-git -Scope CurrentUser

power-theme

power-theme 是章程写的 PowerShell 命令提示符样式主题, 用了之后进一步提升 PowerShell 的颜值。如果你懂 PowerShell 脚本的话,还可以自己写样式。

power-theme 的github 地址 :https://github.com/chantisnake/power-theme

安装:

git clone https://github.com/chantisnake/power-theme "$($($env:PSModulePath -split ';')[0])\power-theme"

启动 theme,这里是个例子,我选的是 ys 主题:

notepad $PROFILE

然后在这个文件中添加以下命令

Import-Module power-theme

Enable-Theme ys   

# 这个可以更改路径样式,有 concise, full 和 folder 三个选项
# 其中 concise 代表省略路径
$Global:THEME.PathFormat = 'concise'

我配置完的 PowerShell 完是这个样子的:

FinishedPS

是不是Bigger than bigger ?

它还可以自己添加时间样式

img

具体操作可以查看它的 github 仓库。

Step3 oh-my-posh + ConEmu

其实还有比 power-theme 更加厉害的东西,那就是 oh-my-posh 。

如果你玩过 *nix 的shell,那么你肯定知道 oh-my-zsh。在 Windows平台,PowerShell 有自己的 oh-my-posh。只不过,这东西只能在 ConEmu 环境下才有用。(补:power-theme 有些主题也需要在 ConEmu 中才有效)

ConEmu是一个带标签的Windows终端,提供多标签支持和丰富的自定义选项,是Windows下不可多得的Console.

ConEmu 的确很强大,但我还是偏爱原生的 PowerShell,所以就没有用 oh-my-posh。有兴趣的朋友可以自己去尝试一下。

Show Comments