在微軟全球開發者大會Build 2019中重磅發布了windows新版命令行——Windows Terminal。一改“歷史厚重感”造型,樣式變得多樣豐富且新添功能,終于放出預覽版供下載了!
微軟Build大會上官宣的新款Windows Terminal,終于放出預覽版供下載了!
可以在其中訪問傳統的cmd系列PowerShell和Windows的Linux子系統(WSL)。
最早只有開發人員能夠從GitHub上提供的代碼編譯和使用Windows終端,如今普通Windows用戶也可以通過應用商店一鍵下載安裝。
Windows Terminal將支持多選項卡、通過編輯JSON文件自定義主題。于是大家開始愉快的玩了起來:
官方截圖:
Windows Terminal還支持完整的基于GPU的文本呈現的表情符號。微軟在Build上展示了一個華麗的sizzle視頻表情符號,文本渲染是基于DirectX的,因此它將顯示PC上可用的常規文本字符,字形和符號。
不是你印象中的命令行
現在,讓我們來細數一下Windows Terminal這些耳目一新的新功能吧!
Windows Terminal將會有多標簽頁面功能,支持代碼高亮主題和自定義設置。
支持同屏顯示多種字體、emoji,提供了基于GPU加速的字體渲染。并且不同標簽分頁可以使用不同的主題,應對不同的工作域需要不同的代碼高亮模式。
Windows Terminal還支持用插件來制作一系列加載項。
它還被設計為訪問PowerShell,cmd.exe和Windows子系統Linux(WSL)等環境的中心位置。
Windows Terminal將會在微軟商店提供下載,預計于六月中旬面向開發者提供預覽,而1.0正式版將會在今年冬季發布。微軟表示Windows Terminal不會立刻取代老版的命令提示符,以保證用戶的兼容性,不過微軟有意將Windows Terminal設置成Windows默認的命令行工具。
數小時,沖擊GitHub趨勢榜第一!
該爆款項目包括以下源代碼:
Windows Terminal
Windows 控制臺主機 (conhost.exe)
兩個項目之間共享的組件
ColorTool
展示如何使用Windows控制臺API的示例項目
Windows Terminal
這部分內容在上一小節已做詳細介紹,就不再贅述。
Windows 控制臺主機
Windows 控制臺主機程序 conhost.exe是 Windows 原生的命令行體驗,它實現了 Windows 的命令行基礎架構,同時提供 Windows Console API, 輸入引擎、渲染引擎和用戶配置信息。本項目中的控制臺主機代碼實際上是 Windows 中的 conhost.exe 的源碼。
控制臺的主要目的是對已有控制臺應用保持向后兼容性。
自從 2014 年有了 Windows 命令行以來,開發團隊已經給控制臺增加了很多新特性,包括窗口透明化、基于行的選擇以及支持 ANSI / 虛擬終端序列 Virtual Terminal sequences, 24-bit color, 以及一個 Pseudoconsole ("ConPTY") 等等。
但是由于控制臺主要的目標是維護向后兼容性,所以盡管這么多年社區一直希望我們能添加一些特性(例如 Tabs),但是我們不可能再增加這些特性。
諸多限制讓團隊決定開發一個全新的 Windows Terminal。
共享的組件
在對控制臺進行大修的同時,我們對其代碼庫進行了大量的改進。主要是將邏輯實體清晰地劃分為模塊和類,引入了一些關鍵的擴展點,用更安全、更高效的STL容器替換了幾個舊的、自制的集合和容器,并通過使用微軟的 Wil header 庫使代碼更簡單、更安全。
這項大修工作導致創建了幾個對 Windows 上的任何終端實現都有用的關鍵組件,包括一個新的基于 DirectWrite 的文本布局和渲染引擎、一個能夠存儲 UTF-16 和 UTF-8 的文本緩沖區以及一個VT解析器/發射器。
構建一個全新終端
當開始構建全新終端應用程序時,我們探索并評估了幾種方法和技術堆棧。最終決定繼續使用 C++ 開發,并通過共享上述的現代化組件來實現我們的目標,并基于現代 Windows 應用程序平臺和 UI 框架之上進行開發。
此外,我們意識到終端的渲染器和輸入堆棧可以構建成可重用的 Windows UI 控件,方便其他人可以將其合并到其他應用程序中。
源碼構建
該項目使用 git submodules 包含一些相關依賴,要確保子模塊被更新,請在構建器使用如下命令檢查:
gitsubmoduleupdate--init--recursive
OpenConsole.sln 需要在 Visual Studio 構建或者是使用 MSBuild 在命令行中構建。命令行構建的方法如下:
nugetrestoreOpenConsole.slnmsbuildOpenConsole.sln
團隊還在 tools 目錄下提供了一組常用的腳本可以幫助自動化處理構建和運行測試的過程。
-
微軟
+關注
關注
4文章
6613瀏覽量
104169 -
Linux
+關注
關注
87文章
11322瀏覽量
209857 -
GitHub
+關注
關注
3文章
472瀏覽量
16488
原文標題:GitHub 4.6萬星:Windows Terminal預覽版開放下載!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論