該存儲庫包含以下原始程式碼:
Windows 終端
Windows 終端機預覽
Windows 控制台主機 ( conhost.exe
)
兩個項目之間共享的組件
色彩工具
展示如何使用 Windows 控制台 API 的範例項目
相關儲存庫包括:
Windows 終端機文件(儲存庫:為文件做出貢獻)
控制台API文檔
卡斯卡迪亞程式碼字體
筆記
Windows 終端機需要 Windows 10 2004(內部版本 19041)或更高版本
從 Microsoft Store 安裝 Windows 終端機。當我們發布具有自動升級功能的新版本時,這使您可以始終使用最新版本。
這是我們的首選方法。
對於無法從 Microsoft Store 安裝 Windows Terminal 的用戶,可以從此儲存庫的發布頁面手動下載已發佈的版本。
從「資產」部分下載Microsoft.WindowsTerminal_
檔案。要安裝應用程序,只需雙擊.msixbundle
文件,應用程式安裝程式就會自動運行。如果因為任何原因失敗,您可以在 PowerShell 提示字元下嘗試以下命令:
# 注意:如果您使用的是 PowerShell 7+,請在使用 Add-AppxPackage.Add-AppxPackage Microsoft.WindowsTerminal_.msixbundle 之前執行 # Import-Module Appx -UseWindowsPowerShell#
筆記
如果您手動安裝終端:
您可能需要安裝 VC++ v14 桌面框架套件。只有當您收到有關缺少框架包的錯誤時,才需要在較舊版本的 Windows 10 上執行此操作。
當新版本發佈時,終端機不會自動更新,因此您需要定期安裝最新的終端版本才能接收所有最新的修復和改進!
winget 使用者可以透過安裝Microsoft.WindowsTerminal
套件來下載並安裝最新的終端版本:
winget install --id Microsoft.WindowsTerminal -e
筆記
WinGet 版本 1.6.2631 或更高版本提供了依賴性支援。若要安裝終端穩定版本 1.18 或更高版本,請確保您擁有更新版本的 WinGet 用戶端。
Chocolatey 使用者可以透過安裝microsoft-windows-terminal
套件來下載並安裝最新的終端版本:
choco 安裝 microsoft-windows-terminal
若要使用 Chocolatey 升級 Windows 終端,請執行下列命令:
choco 升級 microsoft-windows-terminal
如果您在安裝/升級軟體包時遇到任何問題,請前往 Windows 終端軟體包頁面並按照 Chocolatey 分類流程進行操作
Scoop 用戶可以透過安裝windows-terminal
套件來下載並安裝最新的 Terminal 版本:
湯匙桶添加額外的東西 舀安裝 Windows 終端
若要使用 Scoop 更新 Windows 終端,請執行下列命令:
獨家更新 Windows 終端
如果您在安裝/更新軟體包時遇到任何問題,請在 Scoop Extras 儲存桶儲存庫的問題頁面上搜尋或報告相同問題。
Windows Terminal Canary 是 Windows Terminal 的夜間版本。此版本具有來自我們main
分支的最新程式碼,讓您有機會在功能進入 Windows 終端預覽版之前嘗試這些功能。
Windows Terminal Canary 是我們最不穩定的產品,因此您可能會在我們有機會發現錯誤之前就發現它們。
Windows Terminal Canary 可作為應用程式安裝程式發行版和便攜式 ZIP 發行版提供。
App Installer 發行版支援自動更新。由於平台限制,此安裝程式僅適用於 Windows 11。
Portable ZIP 發行版是一個便攜式應用程式。它不會自動更新,也不會自動檢查更新。此便攜式 ZIP 發行版適用於 Windows 10 (19041+) 和 Windows 11。
分配 | 建築學 | 關聯 |
---|---|---|
應用程式安裝程式 | x64、arm64、x86 | 下載 |
便攜式郵編 | x64 | 下載 |
便攜式郵編 | ARM64 | 下載 |
便攜式郵編 | x86 | 下載 |
了解有關 Windows 終端發行版類型的更多資訊。
Windows 終端的計劃在此處進行了描述,並將隨著專案的進度進行更新。
在深入研究程式碼之前,請花幾分鐘時間查看以下概述:
Windows Terminal 是一個針對命令列使用者的新型、現代、功能豐富、高效的終端應用程式。它包括 Windows 命令列社群最常要求的許多功能,包括對標籤、富文本、全球化、可設定性、主題和樣式的支援等。
終端還需要滿足我們的目標和措施,以確保其保持快速和高效,並且不會消耗大量記憶體或電力。
Windows 控制台主機conhost.exe
是 Windows 的原始命令列使用者體驗。它還託管 Windows 的命令列基礎結構和 Windows conhost.exe
API 伺服器、輸入引擎、渲染引擎、使用者首選項等。
自2014 年掌握Windows 命令列以來,該團隊已向控制台添加了多項新功能,包括背景透明度、基於行的選擇、對ANSI/虛擬終端序列的支援、24 位元顏色、偽控制台(“ConPTY” ) ),等等。
但是,由於 Windows 主機的主要目標是保持向後相容性,因此我們無法新增社群(和團隊)過去幾年一直想要的許多功能,包括標籤、unicode 文字和表情符號。
這些限制促使我們創建了新的 Windows 終端機。
您可以在命令列團隊部落格上的隨附部落格文章系列中詳細了解命令列的整體演變以及 Windows 命令列的具體演進。
在徹底改造Windows 控制台的同時,我們對其程式碼庫進行了相當程度的現代化改造,將邏輯實體清晰地分離為模組和類,引入了一些關鍵的擴展點,用更安全、更有效率的STL 容器取代了一些舊的、自行開發的集合和容器,並使程式碼更簡單、更簡潔。
這次徹底修改使得 Console 的幾個關鍵元件可以在 Windows 上的任何終端實作中重複使用。這些元件包括新的基於 DirectWrite 的文字佈局和渲染引擎、能夠儲存 UTF-16 和 UTF-8 的文字緩衝區、VT 解析器/發射器等。
當我們開始規劃新的 Windows 終端應用程式時,我們探索並評估了多種方法和技術堆疊。我們最終決定,繼續投資 C++ 程式碼庫可以最好地實現我們的目標,這將使我們能夠在現有控制台和新終端中重複使用上述幾個現代化組件。此外,我們意識到這將使我們能夠將終端的大部分核心本身建置為可重用的 UI 控件,其他人可以將其合併到自己的應用程式中。
這項工作的結果包含在此儲存庫中,並作為 Windows 終端應用程式提供,您可以從 Microsoft Store 下載,或直接從此儲存庫的版本下載。
有關 Windows 終端的更多信息,您可能會發現其中一些資源有用且有趣:
命令列博客
命令列背景部落格系列
Windows 終端啟動:終端機“Sizzle Video”
Windows 終端啟動:Build 2019 會議
作為廣播運行:Show 645 - Richard Turner 的 Windows 終端
Azure DevOps 播客:第 54 集 - Kayla Cinnamon 和 Rich Turner 談 Windows 終端機上的 DevOps
Microsoft Ignite 2019 會議:現代 Windows 命令列:Windows 終端機 - BRK3321
原因:您在 Visual Studio 中啟動了錯誤的解決方案。
解決方案:確保在 Visual Studio 中建置和部署CascadiaPackage
專案。
筆記
OpenConsole.exe
只是本機建置的conhost.exe
,它是託管 Windows 命令列基礎結構的經典 Windows 控制台。 Windows 終端使用 OpenConsole 連線到命令列應用程式並與之通訊(透過 ConPty)。
所有專案文件均位於 aka.ms/terminal-docs。如果您想為文件做出貢獻,請在 Windows 終端文檔儲存庫上提交拉取請求。
我們很高興能與您(我們出色的社群)一起建立和增強 Windows 終端!
在開始進行功能/修復之前,請閱讀並遵循我們的貢獻者指南,以幫助避免任何浪費或重複的工作。
與團隊溝通最簡單的方法是透過 GitHub issues。
請提交新問題、功能請求和建議,但在建立新問題之前,請搜尋類似的已解決/已關閉的現有問題。
如果您想提出一個您認為尚不值得提出問題的問題,請透過 Twitter 與我們聯絡:
Christopher Nguyen,產品經理:@nguyen_dows
Dustin Howett,工程主管:@dhowett
Mike Griese,資深開發人員:@[email protected]
卡洛斯·薩莫拉,開發人員:@cazamor_msft
Pankaj Bhojwani,開發人員
Leonard Hecker,開發者:@LeonardHecker
您必須執行 Windows 10 2004(內部版本 >= 10.0.19041.0)或更高版本才能執行 Windows 終端
您必須在 Windows 設定應用程式中啟用開發人員模式才能本機安裝和執行 Windows 終端
您必須安裝 PowerShell 7 或更高版本
您必須安裝 Windows 11 (10.0.22621.0) SDK
您必須至少安裝 VS 2022
您必須透過 VS 安裝程式安裝下列工作負載。注意:在 VS 2022 中開啟解決方案會提示您自動安裝缺少的元件:
C++ (v143) 通用 Windows 平台工具
使用 C++ 進行桌面開發
通用Windows平台開發
以下各個組件
您必須安裝 .NET Framework Targeting Pack 才能建置測試項目
此儲存庫使用 git 子模組來實現其某些依賴項。為了確保子模組已恢復或更新,請務必在建置之前執行以下命令:
git 子模組更新 --init --recursive
OpenConsole.sln 可以在 Visual Studio 中構建,也可以使用/tools目錄中的一組便利腳本和工具從命令列構建:
導入模組 .toolsOpenConsole.psm1Set-MsBuildDevEnvironmentInvoke-OpenConsoleBuild
.工具razzle.cmd BCZ
若要在 VS 中偵錯 Windows 終端,請以滑鼠右鍵按一下CascadiaPackage
(在解決方案資源管理器中)並前往屬性。在「偵錯」功能表中,將「應用程式進程」和「背景任務進程」變更為「僅限本機」。
然後,您應該能夠透過按F5來建置和調試終端專案。確保選擇“x64”或“x86”平台 - 終端不會針對“任何 Cpu”構建(因為終端是 C++ 應用程序,而不是 C# 應用程式)。
?您將無法透過執行 WindowsTerminal.exe 直接啟動終端。有關原因的更多詳細信息,請參閱#926、#4043
請查看下面有關我們編碼實踐的簡短文件。
?如果您發現這些文件中缺少某些內容,請隨時為儲存庫中任何位置的任何文件文件做出貢獻(或編寫一些新的文件!)
這是一項正在進行的工作,因為我們了解需要為人們提供什麼才能成為我們專案的有效貢獻者。
編碼風格
代碼組織
我們的遺留程式碼庫中的異常
用於在 WIL 中與 Windows 互動的有用智慧指標和宏
該專案採用了微軟開源行為準則。有關詳細信息,請參閱行為準則常見問題解答或聯繫 [email protected] 提出任何其他問題或意見。