+
DevOps研发效能
媒体矩阵
开源中国APP
授权协议 MIT
开发语言 C/C++
操作系统 Windows
软件类型 开源软件
开源组织 微软
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2019-05-07

软件简介

Windows Terminal 是一个全新的、流行的、功能强大的命令行终端工具。包含很多来社区呼声很高的特性,例如:多 Tab 支持、富文本、多语言支持、可配置、主题和样式,支持 emoji 和基于 GPU 运算的文本渲染等等。同时该终端依然符合我们的目标和要求,以确保它保持快速、高效,并且不会消耗大量内存和电源。

Windows 控制台主机

Windows 控制台主机程序 conhost.exe是 Windows 原生的命令行体验,它实现了 Windows 的命令行基础架构,同时提供 Windows Console API,输入引擎、渲染引擎和用户配置信息。本项目中的控制台主机代码实际上是 Windows 中的 conhost.exe 的源码。

控制台的主要目的是对已有控制台应用保持向后兼容性。自从 2014 年有了 Windows 命令行以来,开发团队已经给控制台增加了很多新特性,包括窗口透明化、基于行的选择以及支持 ANSI / 虚拟终端序列 Virtual Terminal sequences24-bit color, 以及一个 Pseudoconsole ("ConPTY") 等等。

但是由于控制台主要的目标是维护向后兼容性,所以尽管这么多年社区一直希望我们能添加一些特性(例如 Tabs),但是我们不可能再增加这些特性。诸多限制让我们决定开发一个全新的 Windows Terminal。

本项目包含:

  • Windows Terminal
  • Windows Terminal Preview
  • Windows 控制台主机 (conhost.exe)
  • 上述两项目的共享组件
  • ColorTool
  • 示例项目 将展示如何使用 Windows Console APIs

共享的组件

在对控制台进行大修的同时,我们对其代码库进行了大量的改进。主要是将逻辑实体清晰地划分为模块和类,引入了一些关键的扩展点,用更安全、更高效的STL容器替换了几个旧的、自制的集合和容器,并通过使用微软的 Wil header 库使代码更简单、更安全。

这项大修工作导致创建了几个对 Windows 上的任何终端实现都有用的关键组件,包括一个新的基于 DirectWrite 的文本布局和渲染引擎、一个能够存储 UTF-16 和 UTF-8 的文本缓冲区以及一个VT解析器/发射器。

构建一个全新终端

当开始构建全新终端应用程序时,我们探索并评估了几种方法和技术堆栈。最终决定继续使用 C++ 开发,并通过共享上述的现代化组件来实现我们的目标,并基于现代 Windows 应用程序平台和 UI 框架之上进行开发。

此外,我们意识到终端的渲染器和输入堆栈可以构建成可重用的 Windows UI 控件,方便其他人可以将其合并到其他应用程序中。

源码构建

该项目使用 git submodules 包含一些相关依赖,要确保子模块被更新,请在构建器使用如下命令检查:

git submodule update --init --recursive

OpenConsole.sln 需要在 Visual Studio 构建或者是使用 MSBuild 在命令行中构建。命令行构建的方法如下:

nuget restore OpenConsole.sln
msbuild OpenConsole.sln

我们还在 tools 目录下提供了一组常用的脚本可以帮助自动化处理构建和运行测试的过程。

“Windows Terminal”的图片搜索结果

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(60) 发布并加入讨论🔥
发表了资讯
03/09 15:27

Windows Terminal Preview 1.25 发布

Windows Terminal Preview 1.25 现已发布。同时,Windows Terminal 稳定版已更新至 1.24,其中一些值得关注的功能包括: 命令面板新增语言支持,当使用非英语母语时,系统将额外提供英文关键词的特性建议。 新增了一个专门用于扩展的设置页面,可以在其中查看已添加到终端的配置文件、配色方案和操作。 支持“Synchronized Output”DEC 私有模式,应用程序可以使用该模式来减少 flickering 和 tearing 现象。 1.25 中的新功能包...

0
0
发表了资讯
2025/08/27 15:47

Windows Terminal 1.23 稳定版发布

微软正式推送了 Windows Terminal 1.23 稳定版。这是一次时隔 6 个月的大版本迭代,核心亮点就是——全新的窗口架构。主要变化可以一句话总结为:“更稳、更快、更易定制”。 1. 全新窗口架构带来了什么? 更可靠的托盘图标与窗口操作:重构后的多窗口逻辑能显著减少多标签、多窗口场景下的崩溃与卡顿。 “Quake-style”召唤窗口:按全局热键即可从屏幕顶端下拉/收回终端,无需额外占用任务栏图标。 跨窗口操作一致性:拖动标签...

0
0
发表了资讯
2025/02/06 14:03

Windows Terminal Preview 1.23 发布

Windows Terminal Preview 1.23 现已发布,这是 2025 年的第一个 Windows Terminal Preview 版本;对 Settings UI 进行了大量更新,并进行了多项错误修复和可访问性更新,同时将 Windows Terminal stable 更新至了 1.22 版。 Settings UI 更新 在此版本发布之前,有许多 Windows Terminal 设置只能在settings.json文件中进行设置。新版本重点在 Settings UI 上公开了这些设置。 Interaction 在 Interaction 设置中,我们公开了几...

6
1
发表了资讯
2024/01/31 17:30

Windows Terminal Preview 1.20 发布

Windows Terminal Preview 1.20 现已发布,这是 2024 年的第一个预览版本。引入了多项更改,例如 Windows Terminal 运行时自动推迟程序包更新、支持丰富多彩和疯狂的线条样式、更改搜索结果高亮显示的方式以及大量可用性更新和错误修复。 Keep long-running tasks running Microsoft Store 现在将避免在使用时更新 Windows Terminal。通过 Store 团队的一些新增强功能,Terminal 已选择不自动终止适用 Windows 版本的更新。这种...

0
1
发表了资讯
2023/11/21 17:04

微软开源 Terminal Chat

微软宣布开源其 AI 聊天功能 Terminal Chat 的工作,邀请开发人员尝试体验并参与构建。“Windows Terminal 团队致力于提高透明度,我们希望让开源社区有机会帮助我们定义 terminal 应用程序中的人工智能。” Terminal Chat 是 Windows Terminal Canary 中的一项功能,允许用户保持在 terminal 上下文中的同时,与 AI 服务聊天以获得智能建议(例如查找命令或解释错误消息)。 值得注意的是,Windows Terminal Canary 不提供默认...

1
1
发表了资讯
2023/10/12 14:29

微软推出 Windows Terminal Canary 版本

微软宣布把 Windows Terminal Canary 添加到 Windows Terminal 系列中。 Windows Terminal Canary 是 Windows Terminal 的全新 Canary 频道,每天都会进行更新,且包含"hot off the presses"功能;旨在让用户有机会在新功能进入 Windows Terminal Preview 之前试用这些实验性功能。 Windows Terminal Canary 可以与 Windows Terminal stable 和 Windows Terminal Preview 并行安装。但 Canary 版也是最不稳定的版本,所以有存在...

1
0
发表了资讯
2023/09/27 14:53

Windows Terminal Preview 1.19 发布

Windows Terminal Preview 1.19 现已发布,引入了 Broadcast Input、Web Search、Suggestions UI 等新功能。具体更新内容如下: Broadcast Input Broadcast Input 允许将一个终端窗格的内容 broadcast 到选项卡中的所有其他窗格。要打开 Broadcast Input,可在命令面板中选择“Toggle broadcast input to all panes”。你还可以将 Broadcast Input 设置为键绑定操作。 Web Search Web Search 已作为选项添加到右键单击上下文菜单...

1
0
发表了资讯
2023/05/25 09:04

Windows Terminal 1.18 新功能预览:标签拖拽、上下文菜单...

Windows Terminal 预览版已更新到 1.18 版本,带来多项实用内容,一起来看看这个版本的新东西: 标签撕裂(拖拽功能) Windows Terminal 已支持对选项卡进行拖拽,使其成为独立窗口: 还可以将选项卡从一个终端窗口移动到另一个终端窗口 右键单击上下文菜单(实验性功能) 共有粘贴、拆分窗格、复制选项卡和关闭选项卡 目前还是实验性功能,需要手动启用。要手动启用此功能,请在 settings.json 的 profiles 部分的 defaults 部...

13
2
发表了资讯
2023/05/24 16:25

Build 2023 亮点:Windows 原生支持 rar 格式、发布 Windows Copilot

今天凌晨,微软 Build 2023 开发者大会正式开幕,这是 2019 年以来首次回归线下举办,主题十分突出,基本是围绕“AI”展开。本文对部分值得开发者关注的亮点进行汇总。 微软推出 Windows Copilot 微软宣布在 Windows 11 中加入名为 Windows Copilot 的 AI 助手。这是一个集成在操作系统中的侧边栏工具,可以帮助用户完成各种任务,如内容摘要、重写、解释等。微软表示,Copilot 可以让每个用户都成为高效能者,提升工作和学习效...

2
1
发表了资讯
2023/05/24 12:29

Windows Terminal 集成 GitHub Copilot X

微软在今天凌晨举办的 Build 2023 大会上宣布,Windows 11 默认终端 Windows Terminal 将集成 GitHub Copilot X。 GitHub Copilot X 是Copilot 的升级版,作为一款“GPT-4 加持”的 AI 编程助手,微软表示,它利用自然语言人工智能的优势,能够以内联和对话式聊天的方式在终端应用程序中推荐命令、解释错误,并帮助用户进行后续操作。 微软还表示目前尝试在其他开发者工具(如 WinDBG)中集成 GitHub Copilot AI 技术,帮助开发...

7
3
发表了资讯
2022/10/19 08:47

Windows Terminal 正式成为 Windows 11 默认终端

今年7 月 ,微软在 Windows 11 的 Beta 版本测试了将系统默认终端设置为 Windows Terminal 。如今该设置已登录稳定版本,从 Windows 11 22H2 版本开始,Windows Terminal 将正式成为 Windows 11 的默认设置。 默认终端是在打开命令行应用程序时默认启动的终端模拟器。从 Windows 诞生之日起,其默认终端一直是 Windows 控制台主机 conhost.exe。此次更新则意味着,以后 Windows 11 的所有命令行应用程序都将在 Windows Terminal...

0
8
发表了资讯
2022/09/14 08:11

Windows Terminal Preview 1.16 发布

Windows Terminal Preview 1.16 现已发布,具体更新内容如下: Theming 通过引入 themes,为用户增添了更多可自定义的可能 themes 是一个全局属性,可以包含各种 themes 对象,这些对象将出现在设置用户界面的外观页面的主题下拉菜单中。下面是每个 themes 对象可以接受的对象。注意:主题只能使用 JSON 文件进行编辑,但它们会出现在设置 UI 的主题下拉菜单中。 Sample JSON "themes": [ { "name": "Grace K...

3
2
发表了资讯
2022/07/28 07:38

Windows 11 最新内测版已采用 Windows Terminal 作为默认终端

微软最近向 Windows 11 的 Beta 测试通道推送了新的构建版本 (Windows 11 build 22622.436),其中最大的变化是更换了系统的默认终端。 微软在发布说明中写道:“Windows Terminal 现在是 Windows 11 的默认终端。这意味着,所有命令行应用程序将自动在 Windows Terminal 中打开(例如命令提示符和 PowerShell)。用户可通过 Settings > Privacy & security > For developers 找到设置入口。请注意,该功能要求安装 Windows Term...

6
3
发表了资讯
2022/07/07 07:57

Windows Terminal Preview 1.15 已发布

Windows Terminal Preview 已更新到 1.15 版,此版本带来如下内容: 键盘选择(标记模式) 现在可以使用键盘以标记模式选择文本缓冲区中的任何文本。 可以通过键入Ctrl+ Shift+ M 进入标记模式 。在标记模式下,可以使用箭头键移动到起始位置,然后按住 Shift你并使用箭头键进行选择。 Esc 将退出标记模式,Ctrl+A 选择缓冲区中的所有文本。 标记模式操作 markMode:切换标记模式。 toggleBlockSelection:允许仅使用键盘创建块...

4
2
发表了资讯
2022/05/25 07:29

Windows Terminal Preview 1.14 发布,支持窗口背景图功能

Windows Terminal Preview 1.14 已发布,该版本专注于修复错误和提高质量,带来如下内容: 窗口背景图功能(实验性) 现在可以让所有窗格在一个背景图上拆分,而不是每个窗格都有自己的背景图像。使用全局设置 "experimental.useBackgroundImageForWindow": true 即可完成将焦点配置文件的背景图应用到整个窗口。 新行为 现在可以使用 selectAll 操作选择缓冲区中的所有文本,默认按键 Ctrl+Shift+A 。 其他改进 对选项卡、滚...

1
2
发表了资讯
2022/02/10 07:10

Windows Terminal Preview 1.13 发布,新的文本渲染引擎

Windows Terminal Preview 1.13 已发布,这是 2022 年的第一个更新版本。值得注意的是,Windows Terminal 1.13+ 支持的最低 Windows 10 版本已从 18362 (19H1) 变更至 19041 (20H1) 主要新特性如下: 更新 settings UI 设计 使用 WinUI 2.6 更新了 settings UI 以与新的 Windows 11 样式保持一致。 Auto-elevate profiles 增加了一个新的配置文件设置,称为"elevate";允许你能够以管理员的身份自动启动一个配置文件。 此外,e...

5
1
发表了资讯
2021/12/16 08:32

Windows Terminal 将成为 Windows 11 的默认终端程序

Windows Terminal 项目经理 Kayla Cinnamon 在一篇博客文章中指出,该团队计划在 2022 年让 Windows Terminal 成为 Windows 11 设备的默认体验。 用户将可以在多个地方找到此设置:在 Windows 设置的开发者设置页面内、在启动页面的 Windows Terminal 设置内、以及在 Windows 控制台主机属性表内。 具体的推进计划为,将从 Windows Insider Program 开始,并开始通过环形网络进行推广,一直持续到所有 Windows 11 的安装。 根据...

6
5
发表了资讯
2021/11/16 08:37

Windows Terminal UI 迎来更新,和 Windows 11 风格一致

微软工程师 Pankaj Bhojwani 公布了 Windows Terminal 正在开发的新 UI 截图,他表示新 UI 基于全新的 WinUI 控件,将会采用和 Windows 11 一致的风格。 从 PR 的描述来看,目前只公开了 Windows Terminal 的设置容器样式,看起来和 Windows 11 的设置类似。Pankaj Bhojwani 称,此 PR 将会在该分支中进行修改,最终这个 PR 将包含所有变化,然后再合并到 main 分支。 他还介绍了一些待完成的任务: 操作页面 配色方案页面 删除...

6
1
发表了资讯
2021/10/22 07:38

Windows Terminal Preview 1.12 发布,可设置为默认终端

Windows Terminal Preview 1.12 已发布。 更新亮点: 支持将 Windows Terminal 设置为默认终端 匹配配置文件 支持恢复窗口 增加完全透明模式 将 Windows Terminal 设置为默认终端 在 Windows 11 或 Windows Insider Program Dev Channel 中,用户可以将 Windows Terminal 设置为默认终端。设置默认终端后,当我们启动任何命令行应用程序时,它将自动在 Windows Terminal 内打开。 匹配配置文件 (Profile matching) Windows Ter...

3
1
发表了资讯
2021/07/16 07:57

Windows Terminal Preview 1.10 发布

Windows Terminal Preview 1.10 已发布。 主要新特性如下: 下拉菜单新增“命令行面板 (Command palette)”按钮 单击此按钮将启动命令行面板,就像使用快捷键 Ctrl+Shift+P 一样。 系统托盘的"Quake"模式 粗体文本 Windows Terminal 现在支持在文本渲染器中显示粗体文本,未来将会添加一个可配置此项功能的设置。 支持添加新的 action Windows Terminal 提供了大量不同的 action 供使用。其中大多数默认包含键盘快捷键,新版本支...

3
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
60 评论
152 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部