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