微软终端(Windows Terminal)——新一代Windows终端与经典控制台合二为一
原标题:microsoft/terminal
C++★ 104,032 stars+13 今日
速览
支持多标签页、分屏、丰富的主题与配色、Unicode和Emoji渲染、GPU加速文本显示,以及高度可配置的快捷键和设置。适用于开发者、系统管理员和任何需要高效命令行操作的用户。
AI 深度解读
这是什么
microsoft/terminal 是微软官方维护的开源终端项目,使用 C++ 编写,在 GitHub 上拥有超过 104,000 颗星。该项目不仅包含全新的 Windows Terminal 应用程序(包括稳定版和预览版),还包含经典的 Windows 控制台主机 conhost.exe,以及两者共享的组件、ColorTool 和几个展示 Windows Console API 使用的示例项目。相关仓库还包括 Windows Terminal 文档、Console API 文档和 Cascadia Code 字体。Windows Terminal 需要 Windows 10 2004(build 19041)或更高版本。
解决的问题
传统的 Windows 控制台(conhost.exe)虽然功能稳定,但受限于长期的向后兼容性需求,无法添加许多社区和团队渴望的功能,例如标签页、Unicode 文本、Emoji 支持等。同时,旧控制台的代码结构较为陈旧,维护和扩展困难。microsoft/terminal 项目从根本上解决了这些问题:
- 通过全新架构的 Windows Terminal,提供了现代化的终端体验,同时保留了经典控制台的兼容性。
- 对 conhost.exe 的代码进行了现代化重构,包括分离逻辑模块、引入 STL 容器、使用 Microsoft 的 Windows Implementation Libraries(WIL)等,使代码更安全、高效、可复用。
- 将关键组件(如基于 DirectWrite 的文本布局引擎、支持 UTF-16 和 UTF-8 的文本缓冲区、VT 解析器/发射器)设计为可复用,可用于任何 Windows 终端实现。
核心功能
Windows Terminal 提供了丰富的功能:
- 多标签页与分屏:支持同时打开多个标签页,并支持在窗格内分屏显示多个终端会话。
- 丰富的文本渲染:使用 DirectWrite 实现高质量文本布局,支持富文本、国际化文本、Emoji 和 24 位真彩色。
- 可配置性:通过 JSON 文件全面自定义外观、行为、快捷键、配色方案等。
- 主题与样式:支持深色/浅色主题、背景透明度、背景图片、自定义字体(如 Cascadia Code)。
- GPU 加速渲染:利用 GPU 提升渲染性能,减少 CPU 占用。
- Unicode 和 UTF-8 支持:原生处理 Unicode 字符,包括 CJK 象形文字和 Emoji。
- VT 序列支持:完整实现 ANSI/VT 转义序列,兼容现代命令行工具。
- ConPTY 伪终端:支持与 WSL、PowerShell、CMD 等命令行应用高效通信。
- Windows Terminal Canary:提供每日构建版本,让用户提前体验最新功能。
亮点 / 与同类相比
与同类终端(如 ConEmu、Cmder、Hyper、Alacritty、iTerm2 等)相比,microsoft/terminal 有以下独特优势:
- 微软官方原生支持:由 Windows 命令行团队开发,深度集成 Windows 平台,无需额外依赖模拟器。
- 与 conhost.exe 共享组件:经典控制台和新终端共享同一套底层渲染和输入引擎,确保一致性且减少维护成本。
- 开源且活跃:代码完全开源,社区贡献活跃,更新频繁,问题响应迅速。
- 性能优秀:基于 C++ 和 DirectWrite,GPU 渲染,启动速度快,内存占用低。
- 配色方案和主题生态:支持导入 iTerm2 等格式的配色方案,社区提供了大量主题。
- 支持多种安装方式:Microsoft Store 自动更新,也可通过 winget、Chocolatey、Scoop 安装,或手动下载 MSIX bundle。
- 可复用的 UI 控件:终端核心被设计为可复用的 UI 控件,其他开发者可嵌入自己的应用。
适合谁用 / 上手
- 命令行重度用户:开发者、系统管理员、运维人员等,需要多标签、分屏、丰富的配置和主题。
- WSL 和 PowerShell 用户:Windows Terminal 对 WSL、PowerShell 7+ 原生支持,体验优于旧控制台。
- 追求现代化体验的用户:希望终端支持 Emoji、Unicode 渲染、GPU 加速、背景透明等特性。
- 开源贡献者:对 C++、Windows 平台开发、命令行工具感兴趣的开发者,可以参与项目开发和文档改进。
上手建议:
- 优先从 Microsoft Store 安装,保持自动更新。
- 若无法使用 Store,可下载 Releases 页面的 .msixbundle 文件,双击安装或通过 PowerShell 的
Add-AppxPackage命令安装。 - 使用包管理器安装:
winget install --id Microsoft.WindowsTerminal -e或choco install microsoft-windows-terminal或scoop install windows-terminal。 - 配置通过
settings.json文件进行,支持丰富的自定义选项,官方文档(aka.ms/terminal-docs)提供详细指南。 - 如需体验最新功能,可安装 Windows Terminal Canary 版本(支持 Windows 11 自动更新或 Windows 10+ 便携版)。
查看原文 →github.com
