「环境&工具」 PowerShell终端(Windows Terminal)美化

一提起PowerShell,命令提示符等等,想到的就是丑、难用,非常丑:

各位可以先感受一下。

不过,现在我们可以对它做一个美化,美化后的效果如下,各位也可以感受下(本人不提供背景图)

 
下面做简单记录

 

1、必备软件

需要两个软件:

1.1 PowerShell7

虽然电脑自带PowerShell,但是太旧了,微软已经将PowerShell作为一个开源项目了,最新的PowerShell版本为7.0.1

下载地址:https://github.com/PowerShell/PowerShell/releases

1.2 Windows Terminal

相当于PowerShell的客户端,或者说是衣服。可以将包括PowerShell在内的很多东西集成进来。

Windows Terminal 1.0正式版也是在前几天,大概5月20日发布的。

相关文档可以访问:https://docs.microsoft.com/zh-cn/windows/terminal/get-started

下载于安装可以直接在Win10 Store中找到。

 

2、基本设置

这里首先要将Windows Terminal的默认PowerShell改为新的7.0.1

点击设置

在打开的setting.json文件中,修改powershell对应的部分即可。(也可以新建一个,但要注意要唯一的GUID)

修改设置内容如下,供参考,可根据个人喜好进行其他设置。

{
    // Make changes here to the powershell.exe profile
    "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    //要显示的标签名称
    "name": "PowerShell7",
    //安装的PowerShell7.0.1的pwsh.exe文件位置
    "commandline": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -nologo",
    "hidden": false,
    //是否使用磨玻璃效果(用背景图的话就注释掉)
    //"useAcrylic" : true,
    //如果使用毛玻璃效果,透明多的设置
    //"acrylicOpacity" : 0.70,
    //背景颜色(与毛玻璃效果、背景图是相互矛盾的,只能用一种)
    //"background" : "#1C1C1C",
    //字体设置
    "fontFace" : "Hasklug Nerd Font",
    //背景图
    "backgroundImage" : "C:\\Users\\raink\\AppData\\Local\\PImage\\03.png",
    //图标
    "icon" : "C:\\Program Files\\PowerShell\\7\\assets\\Powershell_av_colors.ico"
}

其次还可以设置一些其他的

//这个是setting.json的整体文件结构
{
    //默认打开项,这里的GUID从profiles里任选一个,这里就用PowerShell7对应的
    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    //默认打开时的窗口大小,90列20行
    "initialCols" : 90,
    "initialRows" : 20,

    "profiles":
    [
        {
            "name": "cmd",
            …………
        },
        {
            //上文中PowerShell7的设置对应这个大括号
            "name": "PowerShell7",
            …………
        },
        {
            "name": "PowerShell Core",
            …………
        }
    ],

    //一些快捷键的设置
    "keybindings": 
    [
        { "command": "closePane", "keys": "ctrl+shift+w" },
        { "command": "paste", "keys": "ctrl+v" },
        { "command": "copy", "keys": "ctrl+c" },
        { "command": "newTab", "keys": "ctrl+t" }
    ]
}

这样,我们打开Windows Terminal时就能默认以Powershell7启动,但是也只是设置了背景图等。

说明一点,我在..pwsh.exe的后面追加了“-nologo”,起什么作用呢,就是隐藏掉一些没用的信息,如果不加,就是下面这个效果。

里面的字体我会在下文说明。

接下来是设置Powershell7的主题

 

3、Powershell主题设置

3.1 安装插件

设置主题,这里需要安装两个包,在pwsh(powershell)中,执行下面两个安装:

Install-Module posh-git -Scope AllUsers
Install-Module oh-my-posh -Scope AllUsers

说明一下,我的个人电脑,所以按照AllUser来安装的,也可以使用CurrentUser 来安装

相关说明可参考:Install-Moduel指令说明

接下来安装PSReadLine

Install-Module -Name PSReadLine -AllowPrerelease -Scope AllUsers -Force -SkipPublisherCheck

3.2 主题设置

安装好后就是设置主题

在pwsh中,输入

$profile

能看到配置文件所在的地方,可以“按图索骥”的去找到后打开,如果你安装了 vs code(或者其他的文本编辑),也可以直接

输入“code $proflie”,用vs code打开进行编辑。

在文件中写入如下内容

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster

其中“Set-Theme”就是指定主题,有哪些主题可供选择呢,参考oh-my-posh的github主页

3.3 主题修改

3.3.1隐藏计算级名

所选择的Agnoster主题有点不喜欢的地方,就是会显示用户名和电脑名,电脑名有点长,显得难看

 怎么修改,当然我不推荐修改源文件,我们可以以它为模板,自定义一个主题

参考3.1中的Install-Module相关说明,因为是针对AllUser安装的,所以在

C:\Program Files\PowerShell\Modules\oh-my-posh\2.0.412\Themes 路径下

(如果是CurrentUser,应该在C:\Users\用户名\Documents\WindowsPowerShell\...路径下)

应该能看到所有主题对应的psm1文件

复制 Agnoster.psm1 ,建立副本,并重新起一个好听的名字,比如“MyTheme.psm1”,然后修改文件操作权限(免得修改完不能保存)。

用vs code或者记事本打开。

找到

看代码应该能懂吧,按自己喜好修改(我是删除了“computer”,然后把“$user@$computer”改成了字符表情,亲测Emoji也是可以的,但是如果使用Emoji,在vscode的终端中可能会出现对不齐的情况)

3.3.2 显示路径

通常默认路径是以“~”代替。但是也许你想要完整的清晰的路径显示。

还是在这个主题文件中,修改

为下面的(ShortPath改为FullPath)

在打开“....\PowerShell\Modules\oh-my-posh\2.0.412\Helpers”路径下的“Prompt.ps1”文件

找到 Get-FullPath 方法,把最后的放回值改掉(你一定能看懂下图的)

最后保存,重启W T ,就会看到:

4、乱码问题解决

其实设置完最常见的问题就是乱码,各种方框与问号。

我也在这个问题上纠缠了很久,看很多大佬的博客,都说要用“更纱黑体”这种字体,

通过下载应用这种字体,确实能解决方框和问号,但是还是差强人意,就像我上面的截图里那个python的小图标处,是空白的,我一直以为那就是个空白。。

直到我从WT的官网中无意中翻到了另一个网址:How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh

于是找到了这个字体网站:https://www.nerdfonts.com/

里面有一些添加了大量额外的字形的流行字体。我找了CodeNewRoman Nerd Font字体,下载安装,

并在WT的设置(setting.json)中进行设置(填了本文2节的坑),就好看多了。

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
为了使 Windows 成为开发人员更受欢迎的平台,Microsoft 在 Windows 10 中引入了 WSL(Linux 的 Windows 子系统),这使得在 Windows 上运行 Linux 二进制文件成为可能,而没有虚拟机的麻烦。Windows 终端程序是一款新式、快速、高效、强大且高效的终端应用程序,适用于命令行工具和命令提示符,PowerShell 和 WSL 等 Shell 用户。主要功能包括多个选项卡、窗格、Unicode、和 UTF-8 字符支持,GPU 加速文本渲染引擎以及自定义主题、样式和配置。 开源免费 Windows 终端 Windows Terminal开源免费 Windows 终端 Windows Terminal 中文版 为了进一步简化流程,并提供一种替代过时的 Windows 控制台的方法,Microsoft 提出了Windows Terminal。它旨在改变用户访问命令提示符,PowerShell,WSL 和其他命令行外壳程序和应用程序的方式。您将能够在一个应用程序中使用所有这些工具,该应用程序支持多个选项卡,GPU加速和大量自定义。 开发人员的新工具 长期以来,Windows 上可用的命令行环境不如 macOS 和 Linux 上的命令行环境。多年来,微软已经采取了一些措施来改进其控制台,但是他们最终决定只开发一个名为 Windows Terminal 的新应用程序。 此新工具不会替代现有的控制台,这将导致与旧版应用程序的无限兼容性问题。相反,您将能够在新终端中的单独选项卡中运行命令提示符,PowerShell 和 WSL 实例。 现代终端的现代功能 当然,其中最重要的是多个选项卡支持。到目前为止,这是最需要的功能,不足为奇。每个新选项卡都将连接到特定的外壳或应用程序,甚至可以使用热键打开它们。 其次,Windows Terminal 使用 GPU 加速的 DirectWrite/DirectX 引擎呈现文本。这意味着现在可以在终端内显示各种图形和符号。 目前自定义有点棘手 要更改键绑定,UI 颜色,背景以及添加新的外壳,当前您必须在文本编辑器中编辑 JSON 配置文件。尽管这不太困难,尤其是对于开发人员而言,但这显然是一个临时解决方案,直到实现更直观的方法为止。 值得尝试 Windows Terminal 应该是真正的游戏规则改变者。使用 Windows 的命令行工具使工作变得更加容易,从而增加了该平台对开发人员的吸引力。仍有许多工作要做,但是这个项目显示出很大的希望。 注意:Windows Terminal 需要 Windows 10 1903(内部版本18362)或更高版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值