微软最爽命令行工具发布!开源六小时冲上 GitHub 第二

晓查 栗子 乾明 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

null

WoW!Awesome!My God!

这是不少抱着 Mac 参加微软 Build 大会的开发者,看到命令行工具 ****Windows Terminal后的第一反应。

null

随即,就有人在 Twitter 上表示:我现在有点想买台 PC 了。

为什么要叛逃?

除了这个新的命令行工具之外,微软还发布了完整内核的 Linux 子系统WSL 2

当真是直击开发者 G 点。

长期以来,Linux 和 Mac 下的命令行工具自成一派,Windows 却是另一套命令系统。

这也是很多开发者不选择 Windows 系统的原因。

今后还买什么 Mac,还装什么 Linux 系统?

Windows 电脑也能和前两者一样轻松做开发了。

null

此外,收购了 GitHub 的微软,还用 100 星以上的项目来训练 AI 造福程序员,这个功能,能够基于当前代码的上下文预测后面应该如何写。

伴随着 Windows Terminal 的推出,整合了此前的 Powershell、cmd 命令行工具,再加上升级版的 WSL、AI 辅助写代码,还有什么理由不投入微软的怀抱?

什么是 Windows Terminal

Windows Terminal 是微软推出的新的命令行应用程序,提供多标签、分割窗口、快捷键、完整的 Unicode 字符支持等功能。

最重要的是,它支持 PowerShell,Cmd,WSL(Windows 的 Linux 子系统)和 SSH 等命令行程序,可以说是全平台制霸,简化开发者的工作流程。

什么 Cygwin、MinGW、PuTTY,统统可以丢掉!

而且,颜值即正义!微软还给 Windows Terminal 加入很多细节功能,让它更美观。

null

Windows Terminal 使用的是基于 DirectWrite/DirectX 的 GPU 加速文本渲染引擎。

这个新的引擎支持显示 PC 中存在的文本字符,意味着终端里的汉字、日文不再乱码,而且还能玩 emoji 表情。

在微软展示的 Demo 中,你可以为自己的 shell 程序通过测试加入 emoji 表情提示。

null

此外,微软还为它增加了一种新的等宽字,以增强现代外观和感觉。这种字体不仅包括编程连字,而且它也是开源的,并有自己的 repo。微软表示,将来会开放下载。

Windows 控制台的主要目标是保持与现有命令行工具,脚本等的向后兼容性。

null

在 Windows 10 中,微软一直致力于改善命令行体验,让自己更像 Unix 命令行环境。3 年前,也是在 Build 开发者大会上,微软开源了跨平台 Powershell 工具。

但是 Windows 上 cmd 和 Powershell 并存的混乱局面也一直存在。今年 6 月,Windows Terminal 将同时向下兼容这两种产品。

现在就能上手

如果你已经迫不及待地想要试试 Terminal,可以通过下面的 GitHub 链接,下载、构建和运行这一命令行工具。

https://github.com/microsoft/Terminal

需要注意的是,这个项目使用 git 子模块处理一些依赖项,想要确保子模块更新,请在构建器使用如下命令检查:

git submodule update --init --recursive

其中,OpenConsole.sln 可在 Visual Studio 中构建,或者使用 MSBuild 通过命令行来构建:

nuget restore OpenConsole.sln  
msbuild OpenConsole.sln

在 /tools 文件中,还有一组脚本,能够用于自动化构建和运行测试的过程。

截止到现在, 这一项目已经在 GitHub 上斩获了 4200+ 标星。微软正式宣布之后,6 小时就冲上了 GitHub 趋势榜第二的位置。

null

Fork 也已经有了 240 多次,关于项目开放的 Issues 也有 180 多个,内容基本上都是在反馈问题合提出建议。

比如设置无法打开、无法通过触摸屏使用新标签按钮等等,建议支持像素图形、要求突出显示选项卡和按钮等等。

null

很显然,这一工具仍旧处于不断完善和优化的阶段,如果你想要参与其中,也可以通过 GitHub 平台贡献一份力量。

微软表示,6 月中旬将在 Windows 商店中发布 Terminal 的预览版,供早期用户使用反馈。稳定版的 Terminal 1.0 版本,将会在今年冬天发布。

大肆向开发者示爱

当然,微软对开发者的一片真心,远远不止体现在命令行工具上。

win10 有个 Linux 内核

今天一同发布的,还有 Win 10 下的 Linux 子系统升级版WSL 2

比起上一版,最重大的区别在于 Win 10 有了Linux 内核

null

WSL 2 是基于 Linux 4.19 内核。它可以缩短 Linux 的启动时间,还能简化内存使用。

微软说,这是一次“戏剧性升级”,把文件系统繁重的操作速度提升了一倍:比如,安装节点包管理器的操作。

另外,WSL 2 还支持在本地运行 Linux Docker,所以再也不需要虚拟机了。

运行各种 Linux 应用,也不会像虚拟机那么慢,至少会像 WSL 1 一样快,甚至更快。

和 Terminal 一样,WSL 2 也会在 6 月中旬正式到来。那时,就可以从 Terminal 直接访问 WSL 2 了。

AI 帮你写代码

IntelliCode,是微软一个 AI 辅助程序猿写代码的工具。

团队兴奋地宣布,现在它已经全面支持 Python、C#、C++、JavaScript、XAML 等各种语言了。

null

和前辈 IntelliSense 不同的是,这只 AI 是微软用数以千计的 GitHub 开源项目 (百星以上) 喂养长大的。

学习过这些数据之后,AI 可以给出补全代码的智能建议 (如上图,左下角) 。还懂得联系上下文。

另外,团队说还有个查找重复编辑 (Repeated Edits) 的功能。

比如,你想引入一个辅助函数 (Helper Function) 的时候,就要重构代码。常规搜索的话,工程量会很大,手动修改繁琐又容易出错。

null

如果有一个算法可以追踪你的编辑,只要用几个示例就能发现你在重复编辑,就好了。如上图,发现错误一枚

团队说,Intellicode 的这个功能正在开发中,未来更新时会加入。

One More Thing

如果你真的不是开发者,不妨了解一下微软今天发布的隔空办公大法Teams

null

只要两个人都打开这个软件,创建一个 AR 房间。再带上 AR 眼镜,就可以“共处一室”,隔空互动了。

不止能无障碍交流,挥洒创作灵感也完全不受限制。

null

如果,同事的外观还能随意改变,换成自己的女神,就完美了。