黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)
微软在几天前的build大会上展示了 `Windows Terminal`的威力,由于官宣要在6月中旬才上`Microsoft store`,还有一个多月要等呢。好在代码已公布在 github, 于是决定自己 build 后体验一番。遇到不少坑,大概整理一下流程,分享给大家。如果大家如果发现问题,欢迎指正。
**官方短视频如下:** https://v.qq.com/x/page/p0869ovd7aw.html
build大会中的完整版视频(含英文字幕): https://v.qq.com/x/page/e0870hucdzs.html
将Window 10 升级到1903版本
试过用Windows 10 更新助手(Windows 10 update assistant)来升级Windows 10, 发现只能升级到1809版本。而编译 github 上的 Microsoft terminal 代码必须使用Window 10
的1903版本.
因为不升级,解决其他所有的问题,最后会报这个错(代号DEP 3321
):
好在前不久听说了工具网站 MSDN, 我告诉你上可以下载到该版本的镜像。
关于版本选择,到底选Consumer版还是Business版呢?经大佬Edi Wang
指点,得悉如下信息:
- 如果你的 Windows 是 家庭版或专业版,请选择
Consumer
版 - 如果你的 Windows 是 企业版,请选择
Business
版
至于ed2k://
资源的下载,你使用百度云盘的离线下载也好,使用迅雷也行。
敲黑板: 安装好Windows 10 1903版后,如果不打算编译代码可直接跳到标题直接安装预编译版本继续阅读~
安装好git, 从github上clone代码
首先需要安装好 git for Windows
(https://gitforwindows.org/),然后使用 git 去 clone 一份代码。
Microsoft Terminal 的 github仓库是:
https://github.com/microsoft/Terminal
对应的 clone地址是:
https://github.com/microsoft/Terminal.git。
打开命令行,使用cd命令,切换到自己平时存vs项目的路径(比如我切换到D:\Coding
)。
接着只需要在Git Bash
中输入如下命令即可:
git clone https://github.com/microsoft/Terminal.git
等 clone 完成,就可以进行下一步了。
确保 Clone 仓库完成后,还可以使用以下命令Clone子模块:
git submodule update --init --recursive
安装 VS 2019 和 .NET core 3.0 SDK
先安装 vs 2019 professional 或 enterprise版本,github上的文档提到了要编译 window terminal 必须勾选上:
- Desktop Development with C++
- Universal Windows Platform Development
- Windows SDK version 10.0.18362.0
再安装好.net core 3.0 SDK,比较简单,就不再详述。
在vs的设置里,勾选.NET core下的"Use preview SDK"(使用.NET Core SDK预览版),重启 VS。
在 vs 2019 中打开Windows terminal项目(对应文件夹Terminal
)下的OpenConsole.sln
, 如果不勾选"使用.NET Core SDK预览版"直接编译,很可能会报下面的 Error:
重定解决方案目标
在上一步中,用vs2019打开OpenConsole.sln
时,系统会提示你将项目重新定位到 v142。 对于“Windows SDK版本”,请选择“10.0.18362.0”。 将“Platform Toolset”设置为“Upgrade to v142”。
然后往下拖,按下图设置:
设置完后,单击最下面的OK。
当然,如果误点了"取消",也能通过右键单击整个Solution -> Retarget solution来设置:
设置好编译平台和启动的项目
在你尝试再次build之前,请确保你已经选择好与你的计算机匹配的编译平台(Solution Platform)。
不知道你一开始打开Solution OpenConsole.sln
时编译平台和启动项目是什么样的,我的是这样的:
要正确地 build,这里需要根据自己电脑的实际情况来设置。比如我的x64的,就配置如下:
否则会出现很多错误。
编译成功后出现一个新的Powershell
解决完编译时的各种状况之后,Ctrl + F5
运行项目。
唉,和之前的Powershell有何不一样呢?按Ctrl + T
之后会多了个菜单,同一个窗口中可以有多个Tab,而其他功能暂时没进来,等正式版。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
任务栏中相应的图标为:
按Ctrl + T
之后, 右上角会出现一个以+
开头的菜单
但你在菜单中切换到cmd
的时候,视频中的酷炫效果就有一点出来的迹象了:
接下来,介绍一下如何在上面这个新的cmd
中使用Linux
命令,以我最熟悉的Ubuntu为例来介绍吧。
安装Ubuntu
在Microsoft store里搜索到Ubuntu
,然后购买,安装。这实际上就是WSL (Windows Subsystem for Linux)。
当然,你想体验其他版本的 Linux
,也是可以的,比如Arch Linux
:
在编译出来的命令行中使用Linux命令
安装完WSL版的 Linux 后,还需要开启WSL
的权限:
以"管理员权限"另开一个PowerShell
窗口,
然后输入如下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
等这里的命令完成,就可以在build出来的 Terminal 中执行 Linux 命令了。
先在cmd
中输入 ubuntu
, 需要花一点点时间启动 Ubuntu
, 设置好用户名和密码。
然后就可以愉快地玩Ubuntu了,下面我随便输入了几个命令 ps, touch, ls等,如下图所示。
## 直接安装预编译版本
如果自己不想配置和build,可以下载build好的体验一把:
https://pan.baidu.com/s/1Xrh-0KbsBmh-zJYsdtYqnA 口令: y233
当然,这个预编译版本的来源是:
https://twitter.com/thebookisclosed/status/1125480984068153344.
另外,Scott Hanselman写了一篇相关文章:
A new Console for Windows - It's the open source Windows Terminal - Scott Hanselman
https://www.hanselman.com/blog/ANewConsoleForWindowsItsTheOpenSourceWindowsTerminal.aspx,有园友已经将其部分内容翻译成了中文,见 提前体验让人"回归Windows怀抱"的Windows Terminal - 三升水。
安装预编译版本的方法
解压下载到的文件 WindowsTerminal_SelfSigned_x86_x64_arm64.7
,解压之。
选择后缀名为.cer
的证书文件,右击选择"安装证书"。
图中蓝色的两处人选其一即可。
接下来,点另一个后缀名为.msixbundle
的文件,就可以安装了:
如果要卸载,也很简单。只需在开始菜单中输入应用和功能
,找到相应的软件,点卸载即可。
## 使用自定义主题
安装完 Ubuntu
之后,就可以体验有3类Tab风格的Terminal了,具体安装方法见前文。
按ctrl + T
,打开另一个 Tab
, 此时会看到设置按钮,点击之,会弹出一个 profile.json
的文件。
然后用我上传的主题文件 profile-my.json 的内容替换其中的内容,保存,一会就看到新的主题样式了。比如,新的PowerShell
的样式如下:
当然了,你还可以根据自己的需要在这个配置的基础上自由发挥,不过提醒一点设置字体时要小心,如果该字体终端中找不到,切换类型时整个 Terminal
会崩掉。
为不同类型的 Tab 加上图标
可以在这个位置添加图标:
%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
我在该文件夹中放入了一些32x32的PNG,然后在profile.json
中可以用ms-appdata://
开头的路径来引用图片资源。
图标可从这里获得:
icons
然后将下面新的profile-withIcons.json
文件的内容替换之前的设置.
profile-withIcons.json
弄完后文件夹中的内容是这样的:
最后的使用效果是:
其他版本的主题文件:
profile.json
中更多配置参数的含义,各位需要自己去Solution Terminal
中搜索相应的字段(C++代码)看看了~
## 使用 Emoji 表情
切换到WSL
后,就可以体验 Emoji表情
啦,一开始我用拼音输入法键入了几个,发现该方法下暂时不方便输入 Emoji 表情。
好在在Windows 10上还有另外两种方式可以输入Emoji 表情:
- Windows 10自带的 Emoji 表情输入,有快捷键
- 使用第三方 Emoji 表情工具,复制了贴进去
对于第一种方式,我也是刚会不久,Windows 10 中使用 【Win + .】 或 【Win + ;】可调出表情输入面板,然后继续使用 Win + . 可以选中表情。当然这里的. 和 ; 都是英文状态下的半角符号。
对于对二种方式,这里推荐一个字符网站http://cn.piliapp.com/symbol/(可能需要Kēxué地上网),找到自己想要的表情,点页面上方的复制,然后贴到 Terminal 中就好了。比如我随便输入了几个,效果如下:
要临时放大字体怎么办,按 Ctrl + 鼠标滚轮
即可。
后面这张图基本上覆盖了官方宣传视频中的所有 Emoji 表情 。
**备份地址:**
https://github.com/yanglr/WindowsDevTools/tree/master/awosomeTerminal
**其他玩法:**
Build and install Windows Terminal from Azure DevOps ? Keep IT tidy
https://blog.stomsvik.com/posts/2019/terminal-azure-devops/
如有什么疑问或建议,欢迎及时留言交流~
**参考:**
Terminal/README.md at master · microsoft/Terminal
https://github.com/microsoft/Terminal/blob/master/README.md
Windows 10 上WSL (Windows上的Linux 子系统)的安装指南 | Microsoft Docs
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
Donovan Brown | Building the new Windows Terminal with Visual Studio 2019
http://www.donovanbrown.com/post/Building-the-new-Windows-Terminal-with-Visual-Studio-2019
Windows Terminal profile.json
https://gist.github.com/fcharlie/7530d36175bc5249f1ae92be536238cd
作者简介:Bravo Yeung,计算机硕士,知乎干货答主(获81K 赞同, 38K 感谢, 235K 收藏)。曾在国内 Top3互联网视频直播公司工作过,后加入一家外企做软件开发至今。
如需转载,请加微信 iMath7 申请开白!
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入 .NET技术交流群,在公众号后台回复“加群”或者“学习”即可。
文末彩蛋
微信后台回复“asp”,给你:一份全网最强的ASP.NET学习路线图。
回复“cs”,给你:一整套 C# 和 WPF 学习资源!
回复“core”,给你:2019年dotConf大会上发布的.NET core 3.0学习视频!