失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 别用cmd了 配置一个比Mac终端还美的Windows Terminal——详细教程

别用cmd了 配置一个比Mac终端还美的Windows Terminal——详细教程

时间:2021-03-30 14:25:42

相关推荐

别用cmd了 配置一个比Mac终端还美的Windows Terminal——详细教程

精致漂亮的界面和高效便捷的开发工具就像是台前和幕后,前端er的眼里容不下一个丑陋的盒子,也免不了嫌弃Windows系统审美上的落后……

同样是终端,为什么别人家的终端那么漂亮,我们CMD就是傻大黑粗?你家设计师审美独特做工考究,我家的就缺根筋吗?——还真是。

诚然,CMD是历史遗留的产物,拿去和Mac的终端比本就不该抱有什么指望。尽管微软官方推陈出新,PowerShell基本做到完全替代CMD,却仍未解决外观上的简陋不养眼、不支持Win彩色Emoji和Unicode字符的问题。

倘若把PowerShell看作是CMD的升级的话,似乎也只是浮光掠影,一尘不变,反倒徒增烦恼——我想用WIN+R打开PowerShell还得把‘PowerShell’完整打出来

指令启动cmd更快且不易出错

终于,微软官方发布了这个工具,解决了上述所有问题,让我不需要再羡慕Mac。

姗姗来迟的官方解决方案——Windows Terminal

亚克力毛玻璃界面窗格/窗口内分屏

主要功能

多选项卡窗格(窗口内分屏)Unicode和UTF-8字符支持GPU加速文本呈现引擎自定义主题、自定义文本、颜色、背景颜色/图片快捷键绑定

若图中的界面正是令你心驰神往的Windows终端,请完整阅读以下教程或选择性进行配置。

笔者注:下文使用了较多篇幅用于展示配置文件中代码,遂直观看来略显枯燥,但实际上完整配置完只需要短短几分钟(在网络条件良好的情况下)。

如何使用

软件准备

外观配置

功能配置

软件准备

PowerShell

Win10自带的多为PowerShell v1.0,由于低版本不支持部分所需命令,请手动更新至 最新版

$PSUersionTable #可通过命令查看PowerShell版本

Windows Terminal

打开 应用商店 单击获取按钮,免费获取后跳转值本地应用商店或者直接打开Win10本地应用商店搜索Windows Terminal

Cascadia Code 字体( 推荐 )

连体字与图中Git状态栏有关

进入 Cascadia Code字体发布页

第一个链接为Windows字体:

解压后分別进入/otf,/ttf=> 使用Ctrl+A选中全部字体 => 为所有用户安装

全部安装好的字体包括Cascadia Code, Cascadia Code PL, Cascadia Mono PL, Cascadia Mono PL, Mono即等宽字体,PL即连字

Cascadia的连体似乎比Fira Code多,个人感觉代码排版和命令行的字体需求有微妙的区别, 前者合适Fira Code,后者合适Cascadia.

原理

如果把Windows Terminal比作浏览器,则系统已安装的PowerShell,CMD等像是互不相干的网页的选项卡

Terminal没有图形设置界面,其配置文件是一个JSON格式的文件:setting.json

其配置文件可以对Windows Terminal进行全局设置

其配置文件可以对每个在Windows Terminal下运行的本地终端进行单独配置,不影响本地终端本身,像是一层遮罩、蒙版

setting.json预览

{//默认Profile环境,即启动Terminal时的环境"defaultProfile":"requestedTheme":"dark" //窗口主题"profiles": [ //Profiles列表{//列表首个选项&新建选项卡选项...//自动生成UUID和基础配置}],"schemes": [ //各终端自定义配色方案 {...}],"keybindings": [] //设置快捷键绑定}

5.快捷启动

与cmd快捷启动相同

WIN+R

键入‘WT’

ENTER

ALT+ENTER以为管理员权限启动

界面配置

挑选列表中喜好的方向选择配置

启动时默认窗口新增选项卡默认窗口隐藏不必要的Profile亚克力玻璃效果背景颜色、背景图片、选项卡图标、选项卡名称Git状态颜色编码提示符 PowerLine连体字

开始设置

备份setting.json,文件路径参考:

$Username\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\setting.json

打开setting.json

建议使用NotePad++或VSCode等具有错误检查的编辑器,可以使用记事本但不推荐

以下代码格式与setting.json完全一致,未省略最外层 ‘{ }’

启动时默认窗口

{//粘贴对应的UUID,不可缺少双引号、逗号"defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}","profiles":[{//UUID"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",...},...]}

新增选项卡默认窗口

{"profiles":[//处于最前面的{...}为新建选项卡默认选项//将整个{...}移至最前面即可,[...]中最后一个{...}后无逗号{"guid":"{574e775e-4f2a-5b96-ac1e-a2962a402336}",...},{"guid":"{6c94a779-ddf0-4a26-b80c-ccaf9d627a37}",...}]}

隐藏不必要的Profile

隐藏下拉列表中的不必要的选项

{"profiles":[{//将UUID对应的cmd隐藏"guid":"{0caa0dad-35be-5f56-a8ff-afceeeaa6101}","hidden":"true",//true为隐藏,false为不隐藏...},...]}

亚克力玻璃效果

{"profiles":[{//为UUID对应的PowerShell 7设置, 其他终端同理"guid":"{574e775e-4f2a-5b96-ac1e-a2962a402336}","acrylicOpacity":0.6, //透明度,设置0~1的浮点数"useAcrylic":true,//是否开启亚克力效果...},...]}

背景颜色、背景、选项卡图标、选项卡名称

{"profiles":[{//对UUID对应终端生效"guid":"{574e775e-4f2a-5b96-ac1e-a2962a402336}",..."name": "Aliyun_lhg","icon" : "E:\\a_WorkPlace\\PhotoShop\\icon\\if_Ubuntu.ico",//选项卡名称、选项卡图标"backgroundImage":"C:\\Directory1\\Directory2...","backgroundImageOpacity":0.3,"backgroundImageAlignment":"topleft","backgroundImageStretchMode":none//背景图像路径用双斜杠//背景图像浮点数 0~0.1浮点数//背景图像对齐 默认值"center" //center left top right bottom //topLeft topRight bottom //topLeft topRight bottomLeft bottomRight//背景图像拉伸模式//none fill uniform uniformToFill},...]}

Git状态颜色编码提示符

为PowerShell安装相关插件

在Windows Terminal中选择PowerShell,执行下列三条命令,下载速度可能会因为服务器问题很慢,请耐心等待。

Posh-Git

#将Git状态信息添加到提示,为Git命令、参数、远程分支名添加tab自动补全Install-Module posh-git -Scope CurrentUser -Force SkipPublisherCheck

Oh-My-Posh

#为 PowerShell 提示符提供主题功能Install-Module on-my-posh -Scope CurrentUser -Force SkipPublisherCheck

PSReadline

#允许在 PowerShell 中自定义命令行编辑环境Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck

配置PowerShell提示符

$Username\Documents\PowerShell\prefile.ps1

若无此文件则自行创建,用记事本打开,将以下三行添加进去:

Import-Module posh-gitImport-Module oh-my-poshSet-Theme Paradox

配置Windows Terminal

​ 打开setting.json

{"profiles":[{"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}","fontFace": "Cascadia Code PL",...},...]}

功能配置

快捷键绑定

{"keybindings": [{"command": "命令名称", "keys": "快捷键" }]}

快捷键

使用ctrl+ 、shift+ 、alt+

窗格/窗口内分屏

垂直拆分:在焦点窗格右侧新建窗格,默认值Alt+Shift+plus

水平拆分:在焦点窗格下方新建窗格,默认值Alt+Shift+-

配置方法,使用上文的快捷键绑定方法:

{"keybindings":[//将水平拆分绑定为ctrl+shift+-{"command": {"action": "splitPane", "split": "horizontal" }, "keys": "ctrl+shift+-" },//split属性值可取vertical horizontal auto//分別代表垂直拆分、水平拆分、自动创建最大表面积的窗格{"command": {"action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" },{"command": {"action": "splitPane", "split": "auto" }, "keys": "alt+shift+|" }]}

在窗格间进行切换

​ 按住ALT可使箭头键在窗格之间移动焦点

​ 可使用moveFocus命令切换指定窗格

{"keybindings":[{"command": {"action": "moveFocus", "direction": "down" }, "keys": "alt+down" },{"command": {"action": "moveFocus", "direction": "left" }, "keys": "alt+left" },{"command": {"action": "moveFocus", "direction": "right" }, "keys": "alt+right" },{"command": {"action": "moveFocus", "direction": "up" }, "keys": "alt+up" }]}

调整窗格大小

{"keybindings":[{"command": {"action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },{"command": {"action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },{"command": {"action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" },{"command": {"action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" }]}

SSH快速登陆

经常使用ssh user@machine命令的用户可以利用WT内置的SSH客户端创建档案

{"profiles":[{// Connect to Aliyun Server with SSH"guid": "{6c94a779-ddf0-4a26-b80c-ccaf9d627a37}","commandline": "powershell.exe ssh lhg@47.192.xxx.xx", ...}]}

启动终端后会直接提示输入密码:

指定ssh会话起始目录

{"profiles":[{// Connect to Aliyun Server with SSH"guid": "{6c94a779-ddf0-4a26-b80c-ccaf9d627a37}","commandline": "ssh -t lhg@47.192.xxx.xx \"cd /data/bob && exec bash -l\""...}]}

-t标志强制执行伪终端分配。可用于在远程计算机上执行任意基于屏幕的程序。

小结

工欲善其事,必先利其器,有了丰神异彩的Windows Terminal,终于可以不用忍受那个无聊的黑框框了。如果在读完本文之后,你是否会有革故鼎新的冲动呢?希望这篇文章能帮助你你体验到 Windows Terminal的兼顾颜值和效率的优势,提升在 Windows 上的工作、开发效率。感谢阅读。

部分图片来源于网络

如果觉得《别用cmd了 配置一个比Mac终端还美的Windows Terminal——详细教程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。