首页>>科技 >>内容

微软Build大会上官宣的新款Windows,Terminal

发布时间:2023-12-08 13:54:59编辑:温柔的背包来源:

很多朋友对微软Build大会上官宣的新款Windows,Terminal不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

微软Build大会上官宣的新款Windows,Terminal

在微软全球开发者大会Build 2019中,发布了新版windows命令行——Windows终端。改变了“历史感重”的造型后,风格变得多样丰富,并增加了新的功能。最后发布预览版供下载!微软Build大会上正式公布的新Windows终端终于发布了预览版供下载!可以访问传统的cmd系列PowerShell和Windows的Linux子系统(WSL)。

最早,只有开发者可以从GitHub上提供的代码编译和使用Windows终端。现在普通Windows用户也可以通过app store一键下载安装。Windows终端将支持多标签,并通过编辑JSON文件来定制主题。于是大家开始开心地玩起来:官方截图:

Windows终端还支持基于GPU的文本渲染的颜文字。微软在Build上展示了一个华丽的sizzle视频表情符号,文本渲染是基于DirectX的,所以它会显示PC上可用的常规文本字符、字形和符号。不是你记得的命令行。现在,我们来盘点一下Windows终端这些令人耳目一新的新功能吧!Windows终端将拥有多标签页功能,支持代码高亮主题和自定义设置。

它支持在同一个屏幕上显示多种字体和表情符号,并提供基于GPU加速的字体渲染。而且不同的标签页可以使用不同的主题,不同的工作区域需要不同的代码高亮模式。Windows终端还支持用插件制作一系列外接程序。它还设计用于访问PowerShell、cmd.exe和Windows子系统Linux(WSL)的中心位置。

Windows终端将在微软商店提供下载,预计在6月中旬为开发者提供预览版,而正式版1.0将在今年冬天发布。微软表示,Windows终端不会立即替换旧的命令提示符,以确保用户兼容性,但微软打算将Windows终端设置为Windows的默认命令行工具。几个小时,GitHub趋势榜冲击第一!爆炸项目包括以下源代码:Windows TerminalWindows控制台主机(conhost.exe)。

两个项目共享的组件ColorTool展示了如何使用Windows终端,这是Windows控制台API的一个示例项目。这部分在上一节已经详细介绍过了,这里不再赘述。Windows控制台主机

Conhost.exe,Windows控制台的宿主程序,是Windows的原生命令行体验。它实现了Windows的命令行基础设施,提供了Windows控制台API、输入引擎、渲染引擎和用户配置信息。这个项目中的控制台主机代码实际上是Windows中conhost.exe的源代码。控制台的主要目的是维护与现有控制台应用程序的向后兼容性。

自从Windows命令行在2014年出现以来,开发团队已经向控制台添加了许多新功能,包括窗口透明性、基于行的选择、对ANSI/虚拟终端序列的支持、24位颜色和一个伪控制台(“ConPTY”)。但是,由于控制台的主要目标是保持向后兼容,虽然这么多年来社区一直希望我们能增加一些功能(比如标签页),但我们不可能增加这些功能。

诸多限制让团队决定开发一款全新的Windows终端。虽然共享组件对控制台进行了全面检查,但我们对其代码基础进行了大量改进。主要是将逻辑实体划分为模块和类,引入一些关键的扩展点,用更安全高效的STL容器替换几个老旧的自制的集合和容器,利用微软的Wil头文件库让代码更简单安全。

这次彻底检查导致创建了几个对Windows上的任何终端实现都有用的关键组件,包括基于DirectWrite的新文本布局和呈现引擎、能够存储UTF-16和UTF-8的文本缓冲区以及VT解析器/传输器。建立一个全新的终端

当我们开始构建一个全新的终端应用程序时,我们探索并评估了几种方法和技术堆栈。最后,我们决定继续使用C开发,通过共享上述现代组件来实现我们的目标,基于现代Windows应用平台和UI框架进行开发。此外,我们意识到终端的渲染器和输入堆栈可以内置到可重用的Windows UI控件中,以便其他人可以将它们合并到其他应用程序中。源代码构造

这个项目中使用的Git子模块包含一些相关的依赖项。为了确保子模块得到更新,请在构建器中使用以下命令进行检查:git子模块更新-初始化-递归openconsole。SLN需要在命令行上的Visual Studio或MSBuild中构建。命令行构造方法如下:NugetRestoreOpenConsole。SLNMSBuildOpenConsole。SLN团队还在工具目录下提供了一组常用的脚本来帮助自动化构建和运行测试的过程。

以上知识分享希望能够帮助到大家!