强化win10下的命令行 - 颜值和实用并存

平时工作中命令行 `git` 命令用的比较多,安装了扩展,输入命令可以按 `Tab` 来自动补全方便了很多。

强化win10下的命令行 - 颜值和实用并存

0x1 安装 Windows Terminal

Microsoft Store 中下载 Windows Terminal 注意系统要求

win10-terminal

0x2 安装 PowerShell core

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

win10选择 PowerShell-7.1.0-preview.7-win-x64.msi 这种安装即可

poweishell-core

0x3 安装字体(可选)

FiraCode - 连字符字体

FiraCode

JetBrainsMono - IDEA 系字体,个人用的这个

0x4 安装 PowerShell 模块

0x1 输入以下命令

通过在 PowerShell 中执行下面的命令安装, 以超级管理员运行 PowerShell

右键桌面空白的地方选择 PowerShell > Open Here as Administrator

CurrentUser 是仅为当前用户安装模块

!如果出现 PowerShell 因为在此系统上禁止运行脚本…

输入以下命令

# 更改执行策略
set-ExecutionPolicy RemoteSigned

# 查看执行策略
get-ExecutionPolicy
Install-Module posh-git -Scope CurrentUser 
Install-Module oh-my-posh -Scope CurrentUser

0x2 如果下载慢的话可以使用命令行代理

# 设置代理(填写你本地的端口)
netsh winhttp set proxy 127.0.0.1:1080
# 取消代理
netsh winhttp reset proxy
# 查看代理
netsh winhttp show proxy

0x5 配置 PowerShell

0x1 输入:

$PROFILE

# C:\Users\SunSeekerX\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

0x2 继续输入:

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

0x3 在打开的文件中添加Set-Theme Paradox 是设置默认主题

该文件是每次启动 PowerShell 执行的文件,加载两个模块和设置主题。

其他可选主题有

Agnoster、Avit、Darkblood、Fish、Honukai、Paradox、Sorin、tehrob

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

0x4 保存后关闭记事本, 在终端中输入以下命令生效(这里不要照抄 下面执行的 是 上文中$PROFILE的值)

C:\Users\SunSeekerX\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

0x5 切换主题

Set-Theme 主题名字

0x6 配置 Windows Terminal

官网详细配置说明

配置主题配色

0x1 打开配置文件 setting.json

pwsh

0x2 参考以下配置

可自行修改,一定要符合json的内容格式,不然会报错,还有就是图片的的路径要与己系统对应

改的比较多的就是 profiles > defaultsschemes ,前者是启动的配置,后者是主题配色。

下面的配置不要全部复制,可以选择性的更改你的配置!

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
    "copyOnSelect": false,
    "copyFormatting": false,
    "profiles": {
        "defaults": {
            "fontFace": "JetBrains Mono", // oh-my-posh 主题原因,使用其他的字体可能会出现乱码
            // "backgroundImage": "C:\\bash-bg.jpg", // 背景图片地址
            // "backgroundImageOpacity": 0.5, // 透明度
            "colorScheme": "ayu", // 颜色方案
            "acrylicOpacity": 0.7,
            "useAcrylic": true
        },
        "list": [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false,
                "startingDirectory": null
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "命令提示符",
                "commandline": "cmd.exe",
                "hidden": false,
                "startingDirectory": null
            },
            {
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell",
                "source": "Windows.Terminal.PowershellCore",
                "startingDirectory": null
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure",
                "startingDirectory": null
            }
        ]
    },
    // 配色方案
    "schemes": [
        {
            "name": "Andromeda",
            "black": "#000000",
            "red": "#cd3131",
            "green": "#05bc79",
            "yellow": "#09da0f",
            "blue": "#2472c8",
            "purple": "#bc3fbc",
            "cyan": "#0fa8cd",
            "white": "#e5e5e5",
            "brightBlack": "#666666",
            "brightRed": "#cd3131",
            "brightGreen": "#05bc79",
            "brightYellow": "#09da0f",
            "brightBlue": "#2472c8",
            "brightPurple": "#bc3fbc",
            "brightCyan": "#0fa8cd",
            "brightWhite": "#e5e5e5",
            "background": "#262a33",
            "foreground": "#e5e5e5"
        },
        {
            "name": "Campbell",
            "foreground": "#F2F2F2",
            "background": "#0C0C0C",
            "colors": [
                "#0C0C0C",
                "#C50F1F",
                "#13A10E",
                "#C19C00",
                "#0037DA",
                "#881798",
                "#3A96DD",
                "#CCCCCC",
                "#767676",
                "#E74856",
                "#16C60C",
                "#F9F1A5",
                "#3B78FF",
                "#B4009E",
                "#61D6D6",
                "#F2F2F2"
            ]
        },
        {
            "name": "Solarized Dark",
            "foreground": "#FDF6E3",
            "background": "#073642",
            "colors": [
                "#073642",
                "#D30102",
                "#859900",
                "#B58900",
                "#268BD2",
                "#D33682",
                "#2AA198",
                "#EEE8D5",
                "#002B36",
                "#CB4B16",
                "#586E75",
                "#657B83",
                "#839496",
                "#6C71C4",
                "#93A1A1",
                "#FDF6E3"
            ]
        },
        {
            "name": "ayu",
            "black": "#000000",
            "red": "#ff3333",
            "green": "#b8cc52",
            "yellow": "#e7c547",
            "blue": "#36a3d9",
            "purple": "#f07178",
            "cyan": "#95e6cb",
            "white": "#ffffff",
            "brightBlack": "#323232",
            "brightRed": "#ff6565",
            "brightGreen": "#eafe84",
            "brightYellow": "#fff779",
            "brightBlue": "#68d5ff",
            "brightPurple": "#ffa3aa",
            "brightCyan": "#c7fffd",
            "brightWhite": "#ffffff",
            "background": "#0f1419",
            "foreground": "#e6e1cf"
        }
    ],
    "keybindings": [
        {
            "command": {
                "action": "copy",
                "singleLine": false
            },
            "keys": "ctrl+c"
        },
        {
            "command": "paste",
            "keys": "ctrl+v"
        },
        {
            "command": "find",
            "keys": "ctrl+shift+f"
        },
        {
            "command": {
                "action": "splitPane",
                "split": "auto",
                "splitMode": "duplicate"
            },
            "keys": "alt+shift+d"
        }
    ]
}

0x3 官方更多配色

https://docs.microsoft.com/zh-cn/windows/terminal/customize-settings/color-schemes

添加 Windows Terminal 到右键

right-menu

0x1 下载图标

下载地址:icon,放到 C:\Users\[user_name]\AppData\Local\terminal,没有这个文件夹新建一个。

注意[user_name] 是你自己电脑的用户名

0x2 写入注册表

创建一个txt文档,并把档后缀改为 reg。文档的名字可自己创建,后缀名不可以错。右键菜单出现 Windows Terminal 有两种方法。一种是按shift+ 右键,另一种是直接右键

shift + 右键

把下面的内容复制到reg去

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows Terminal"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[user_name]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

注意:请把 [user_name] 改成自己电脑的用户名

右键

把下面的内容复制到reg去

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="%USERPROFILE%\\AppData\\Local\\terminal\\wt_32.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[user_name]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

注意:请把 [user_name] 改成自己电脑的用户名

0x3 修改 Windows Terminal 的 settings.json

profiles > list > startingDirectory 改为 null,没有的自己创建一个。

可以选择的改你需要的。(我都改了)

这个是修改右键启动路径为当前运行命令的路径。

0x7 结语

平时工作中命令行 git 命令用的比较多,安装了扩展,输入命令可以按 Tab 来自动补全方便了很多。

Windows 下的命令行还有很多的玩法,比如支持 Linux 命令的 MSYS2,集成了 pacman。 可以参考 Win10终端神器——Windows Terminal 与 MSYS2 MinGW64 集成记 进行安装。

0x8 参考链接

关于我

SunSeekerX,前端开发、Nodejs开发、小程序、uni-app开发、等等

喜欢探讨技术实现方案和细节,完美主义者,见不得bug

Github:https://github.com/SunSeekerX

个人博客:/

个人在线笔记:https://sunseekerx.yoouu.cn/