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