精致漂亮的界面和高效便捷的开发工具就像是台前和幕后,前端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——详细教程》对你有帮助,请点赞、收藏,并留下你的观点哦!