微软在几天前的 build 大会上展示了 Windows Terminal 的威力, 由于官宣要在 6 月中旬才上 Microsoft store, 还有一个多月要等呢. 好在代码已公布在 GitHub, 于是决定自己 build 后体验一番. 遇到不少坑, 大概整理一下流程, 分享给大家. 如果大家如果发现问题, 欢迎指正.
官方视频如下:
https://v.qq.com/x/page/p0869ovd7aw.html
将 Windows 10 升级到 1903 版本
试过用 Windows 10 更新助手 (Windows 10 update assistant) 来升级 Windows 10, 发现只能升级到 1809 版本. 而编译 GitHub 上的 Microsoft terminal 代码必须使用 Windows 10 的 1903 版本.
因为不升级, 解决其他所有的问题, 最后会报这个错(代号 DEP 3321):
Windows-need-update
好在前不久听说了工具网站 MSDN, 我告诉你 http://msdn.itellyou.cn/ 上可以下载到该版本的镜像.
1557627006164
关于版本选择, 到底选 Consumer 版还是 Business 版呢? 经大佬 Edi Wang 指点, 得悉如下信息:
如果你的 Windows 是 家庭版, 请选择 Consumer 版
如果你的 Windows 是 专业版或企业版, 请选择 Business 版
至于 ed2k:// 资源的下载, 你使用百度云盘的离线下载也好, 使用迅雷也行.
安装好 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
- 1557625927965
等 clone 完成, 就可以进行下一步了.
确保 Clone 仓库完成后, 还可以使用以下命令 Clone 子模块:
Git submodule update --init --recursive
安装 VS 2019 和 .NET core 3.0 SDK
先安装 vs 2019 professional 或 enterprise 版本, GitHub 上的文档提到了要编译 Windows 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.
img3
在 vs 2019 中打开 Windows terminal 项目 (对应文件夹 Terminal) 下的 OpenConsole.sln, 如果不勾选 "使用. NET Core SDK 预览版" 直接编译, 很可能会报下面的 Error:
1557627653748
重定解决方案目标
在上一步中, 用 vs2019 打开 OpenConsole.sln 时, 系统会提示你将项目重新定位到 v142. 对于 "Windows SDK 版本", 请选择 "10.0.18362.0". 将 "Platform Toolset" 设置为 "Upgrade to v142".
1557632133871
然后往下拖, 按下图设置:
1557632360926
设置完后, 单击最下面的 OK.
当然, 如果误点了 "取消", 也能通过右键单击整个 Solution -> Retarget solution 来设置:
设置好编译平台和启动的项目
在你尝试再次 build 之前, 请确保你已经选择好与你的计算机匹配的编译平台(Solution Platform).
不知道你一开始打开 Solution OpenConsole.sln 时编译平台和启动项目是什么样的, 我的是这样的:
1557631342884
要正确地 build, 这里需要根据自己电脑的实际情况来设置. 比如我的 x64 的, 就配置如下:
1557629911752
否则会出现很多错误.
编译成功后出现一个新的 Powershell
解决完编译时的各种状况之后, Ctrl + F5 运行项目.
唉, 和之前的 Powershell 有何不一样呢? 按 Ctrl + T 之后会多了个菜单, 同一个窗口中可以有多个 Tab, 而其他功能暂时没进来, 等正式版. 此外, 还多了句话(见高亮部分)~
尝试新的跨平台 PowerShell https://aka.ms/pscore6
1557632560061
任务栏中相应的图标为:
1557634914551
按 Ctrl + T 之后, 右上角会出现一个以 + 开头的菜单
1557632764029
但你在菜单中切换到 cmd 的时候, 视频中的酷炫效果就有一点出来的迹象了:
1557632951609
接下来, 介绍一下如何在上面这个新的 cmd 中使用 Linux 命令, 以我最熟悉的 Ubuntu 为例来介绍吧.
安装 Ubuntu
在 Microsoft store 里搜索到 Ubuntu, 然后购买, 安装. 这实际上就是 WSL (Windows Subsystem for Linux).
1557633269919
当然, 你想体验其他版本的 Linux, 也是可以的, 比如 Arch Linux:
1557633347262
在编译出来的命令行中使用 Linux 命令
安装完 WSL 版的 Linux 后, 还需要开启 WSL 的权限:
以 "管理员权限" 另开一个 PowerShell 窗口,
1557633727047
然后输入如下命令:
- Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- 1557633836814
等这里的命令完成, 就可以在 build 出来的 Terminal 中执行 Linux 命令了.
先在 cmd 中输入 Ubuntu, 需要花一点点时间启动 Ubuntu, 设置好用户名和密码.
然后就可以愉快地玩 Ubuntu 了, 下面我随便输入了几个命令 ps, touch, ls 等, 如下图所示.
1557633540178
直接安装预编译版本
如果自己不想配置和 build, 可以下载 build 好的体验一把:
https://pan.baidu.com/s/1Xrh-0KbsBmh-zJYsdtYqnA 口令: y233
当然, 这个预编译版本的来源是:
.
- 1557666142919
- 1557666174961
- 1557666206499
- 1557666264381
- Donovan Brown | Building the new Windows Terminal with Visual Studio 2019
- Windows Terminal profile.JSON
来源: https://www.qcloud.com/developer/article/1424095