Repositori ini berisi kode sumber untuk:
Terminal Windows
Pratinjau Terminal Windows
Host konsol Windows ( conhost.exe
)
Komponen dibagi antara kedua proyek
Alat Warna
Contoh proyek yang menunjukkan cara menggunakan API Konsol Windows
Repositori terkait meliputi:
Dokumentasi Terminal Windows (Repo: Berkontribusi pada dokumen)
Dokumentasi API Konsol
Font Kode Cascadia
Catatan
Terminal Windows memerlukan Windows 10 2004 (build 19041) atau lebih baru
Instal Terminal Windows dari Microsoft Store. Hal ini memungkinkan Anda untuk selalu menggunakan versi terbaru saat kami merilis versi baru dengan peningkatan otomatis.
Ini adalah metode pilihan kami.
Bagi pengguna yang tidak dapat menginstal Terminal Windows dari Microsoft Store, versi yang dirilis dapat diunduh secara manual dari halaman Rilis repositori ini.
Unduh file Microsoft.WindowsTerminal_
dari bagian Aset . Untuk menginstal aplikasi, Anda cukup mengklik dua kali pada file .msixbundle
, dan penginstal aplikasi akan berjalan secara otomatis. Jika gagal karena alasan apa pun, Anda dapat mencoba perintah berikut pada prompt PowerShell:
# CATATAN: Jika Anda menggunakan PowerShell 7+, jalankan# Import-Module Appx -UseWindowsPowerShell# sebelum menggunakan Add-AppxPackage.Add-AppxPackage Microsoft.WindowsTerminal_.msixbundle
Catatan
Jika Anda menginstal Terminal secara manual:
Anda mungkin perlu menginstal Paket Kerangka Desktop VC++ v14. Ini hanya diperlukan pada versi Windows 10 yang lebih lama dan hanya jika Anda mendapatkan pesan kesalahan tentang paket kerangka kerja yang hilang.
Terminal tidak akan diperbarui secara otomatis ketika versi baru dirilis sehingga Anda perlu menginstal rilis Terminal terbaru secara rutin untuk menerima semua perbaikan dan peningkatan terbaru!
pengguna winget dapat mengunduh dan menginstal rilis Terminal terbaru dengan menginstal paket Microsoft.WindowsTerminal
:
winget instal --id Microsoft.WindowsTerminal -e
Catatan
Dukungan ketergantungan tersedia di WinGet versi 1.6.2631 atau lebih baru. Untuk menginstal Terminal rilis stabil 1.18 atau lebih baru, pastikan Anda memiliki klien WinGet versi terbaru.
Pengguna Chocolatey dapat mengunduh dan menginstal rilis Terminal terbaru dengan menginstal paket microsoft-windows-terminal
:
choco instal terminal microsoft-windows
Untuk memutakhirkan Terminal Windows menggunakan Chocolatey, jalankan perintah berikut:
choco meningkatkan terminal microsoft-windows
Jika Anda mengalami masalah saat menginstal/meningkatkan paket, silakan buka halaman paket Terminal Windows dan ikuti proses triase Chocolatey
Pengguna Scoop dapat mengunduh dan menginstal rilis Terminal terbaru dengan menginstal paket windows-terminal
:
sendok ember tambahkan ekstra sendok instal terminal windows
Untuk memperbarui Terminal Windows menggunakan Scoop, jalankan perintah berikut:
sendok perbarui terminal windows
Jika Anda mengalami masalah apa pun saat menginstal/memperbarui paket, silakan cari atau laporkan masalah yang sama di halaman masalah repositori ember Scoop Extras.
Windows Terminal Canary adalah versi malam dari Terminal Windows. Versi ini memiliki kode terbaru dari cabang main
kami, memberi Anda kesempatan untuk mencoba fitur sebelum masuk ke Pratinjau Terminal Windows.
Windows Terminal Canary adalah penawaran kami yang paling tidak stabil, jadi Anda mungkin menemukan bug sebelum kami sempat menemukannya.
Windows Terminal Canary tersedia sebagai distribusi Penginstal Aplikasi dan distribusi ZIP Portabel.
Distribusi Penginstal Aplikasi mendukung pembaruan otomatis. Karena keterbatasan platform, penginstal ini hanya berfungsi di Windows 11.
Distribusi ZIP Portabel adalah aplikasi portabel. Itu tidak akan diperbarui secara otomatis dan tidak akan memeriksa pembaruan secara otomatis. Distribusi ZIP portabel ini berfungsi pada Windows 10 (19041+) dan Windows 11.
Distribusi | Arsitektur | Link |
---|---|---|
Pemasang Aplikasi | x64, lengan64, x86 | unduh |
ZIP Portabel | x64 | unduh |
ZIP Portabel | ARM64 | unduh |
ZIP Portabel | x86 | unduh |
Pelajari selengkapnya tentang jenis distribusi Terminal Windows.
Rencana Terminal Windows dijelaskan di sini dan akan diperbarui seiring berjalannya proyek.
Harap luangkan beberapa menit untuk meninjau ikhtisar di bawah sebelum menyelami kode:
Terminal Windows adalah aplikasi terminal baru, modern, kaya fitur, dan produktif untuk pengguna baris perintah. Ini mencakup banyak fitur yang paling sering diminta oleh komunitas baris perintah Windows termasuk dukungan untuk tab, teks kaya, globalisasi, kemampuan konfigurasi, tema & gaya, dan banyak lagi.
Terminal juga harus memenuhi tujuan dan langkah-langkah kami untuk memastikannya tetap cepat dan efisien, serta tidak menghabiskan banyak memori atau daya.
Host Konsol Windows, conhost.exe
, adalah pengalaman pengguna baris perintah asli Windows. Ini juga menampung infrastruktur baris perintah Windows dan server API Konsol Windows, mesin input, mesin rendering, preferensi pengguna, dll. Kode host konsol dalam repositori ini adalah sumber sebenarnya dari mana conhost.exe
di Windows itu sendiri dibuat.
Sejak mengambil kepemilikan baris perintah Windows pada tahun 2014, tim menambahkan beberapa fitur baru ke Konsol, termasuk transparansi latar belakang, pemilihan berbasis garis, dukungan untuk urutan ANSI / Terminal Virtual, warna 24-bit, Pseudoconsole ("ConPTY" ), dan banyak lagi.
Namun, karena tujuan utama Konsol Windows adalah mempertahankan kompatibilitas ke belakang, kami tidak dapat menambahkan banyak fitur yang diinginkan komunitas (dan tim) selama beberapa tahun terakhir termasuk tab, teks unicode, dan emoji.
Keterbatasan ini mendorong kami untuk membuat Terminal Windows baru.
Anda dapat membaca selengkapnya tentang evolusi baris perintah secara umum, dan baris perintah Windows secara khusus dalam rangkaian postingan blog terlampir di blog tim Baris Perintah.
Saat merombak Konsol Windows, kami memodernisasi basis kodenya secara signifikan, dengan rapi memisahkan entitas logis ke dalam modul dan kelas, memperkenalkan beberapa poin utama ekstensibilitas, mengganti beberapa koleksi dan kontainer lama yang dibuat sendiri dengan kontainer STL yang lebih aman dan efisien, serta membuat kode lebih sederhana dan lebih aman dengan menggunakan Perpustakaan Implementasi Windows Microsoft - WIL.
Perombakan ini mengakibatkan beberapa komponen utama Konsol tersedia untuk digunakan kembali dalam implementasi terminal apa pun di Windows. Komponen-komponen ini mencakup tata letak teks dan mesin rendering baru berbasis DirectWrite, buffer teks yang mampu menyimpan UTF-16 dan UTF-8, parser/emitor VT, dan banyak lagi.
Saat kami mulai merencanakan aplikasi Terminal Windows yang baru, kami mengeksplorasi dan mengevaluasi beberapa pendekatan dan tumpukan teknologi. Kami pada akhirnya memutuskan bahwa tujuan kami paling baik dicapai dengan melanjutkan investasi kami pada basis kode C++, yang akan memungkinkan kami menggunakan kembali beberapa komponen modern yang disebutkan di atas baik di Konsol yang ada maupun di Terminal baru. Lebih lanjut, kami menyadari bahwa hal ini akan memungkinkan kami untuk membangun sebagian besar inti Terminal itu sendiri sebagai kontrol UI yang dapat digunakan kembali sehingga orang lain dapat menggabungkannya ke dalam aplikasi mereka sendiri.
Hasil pekerjaan ini terdapat dalam repo ini dan dikirimkan sebagai aplikasi Terminal Windows yang dapat Anda unduh dari Microsoft Store, atau langsung dari rilis repo ini.
Untuk informasi lebih lanjut tentang Terminal Windows, Anda mungkin menemukan beberapa sumber daya berikut berguna dan menarik:
Blog Baris Perintah
Seri Blog Latar Belakang Baris Perintah
Peluncuran Terminal Windows: Terminal "Video Mendesis"
Peluncuran Terminal Windows: Sesi Build 2019
Jalankan Sebagai Radio: Tampilkan 645 - Terminal Windows dengan Richard Turner
Azure Devops Podcast: Episode 54 - Kayla Cinnamon dan Rich Turner di DevOps di Terminal Windows
Sesi Microsoft Ignite 2019: Baris Perintah Windows Modern: Terminal Windows - BRK3321
Penyebab: Anda meluncurkan solusi yang salah di Visual Studio.
Solusi: Pastikan Anda sedang membangun & menerapkan proyek CascadiaPackage
di Visual Studio.
Catatan
OpenConsole.exe
hanyalah conhost.exe
yang dibuat secara lokal, Konsol Windows klasik yang menampung infrastruktur baris perintah Windows. OpenConsole digunakan oleh Terminal Windows untuk menyambung dan berkomunikasi dengan aplikasi baris perintah (melalui ConPty).
Semua dokumentasi proyek terletak di aka.ms/terminal-docs. Jika Anda ingin berkontribusi pada dokumentasi, silakan kirimkan permintaan penarikan pada repo Dokumentasi Terminal Windows.
Kami sangat bersemangat untuk bekerja bersama Anda, komunitas kami yang luar biasa, untuk membangun dan menyempurnakan Terminal Windows!
SEBELUM Anda mulai mengerjakan suatu fitur/perbaikan , harap baca & ikuti Panduan Kontributor kami untuk membantu menghindari upaya yang sia-sia atau duplikat.
Cara termudah untuk berkomunikasi dengan tim adalah melalui masalah GitHub.
Silakan ajukan masalah baru, permintaan fitur, dan saran, tetapi LAKUKAN pencarian untuk masalah terbuka/tertutup serupa yang sudah ada sebelumnya sebelum membuat masalah baru.
Jika Anda ingin mengajukan pertanyaan yang menurut Anda belum menjadi masalah, silakan hubungi kami melalui Twitter:
Christopher Nguyen, Manajer Produk: @nguyen_dows
Dustin Howett, Pimpinan Teknik: @dhowett
Mike Griese, Pengembang Senior: @[email protected]
Carlos Zamora, Pengembang: @cazamor_msft
Pankaj Bhojwani, Pengembang
Leonard Hecker, Pengembang: @LeonardHecker
Anda harus menjalankan Windows 10 2004 (build >= 10.0.19041.0) atau lebih baru untuk menjalankan Terminal Windows
Anda harus mengaktifkan Mode Pengembang di aplikasi Pengaturan Windows untuk menginstal dan menjalankan Terminal Windows secara lokal
Anda harus menginstal PowerShell 7 atau lebih baru
Anda harus menginstal SDK Windows 11 (10.0.22621.0).
Anda harus menginstal setidaknya VS 2022
Anda harus menginstal Beban Kerja berikut melalui VS Installer. Catatan: Membuka solusi di VS 2022 akan meminta Anda menginstal komponen yang hilang secara otomatis:
C++ (v143) Alat Platform Windows Universal
Pengembangan Desktop dengan C++
Pengembangan Platform Windows Universal
Komponen Individu berikut
Anda harus menginstal Paket Penargetan .NET Framework untuk membangun proyek pengujian
Repositori ini menggunakan submodul git untuk beberapa dependensinya. Untuk memastikan submodul dipulihkan atau diperbarui, pastikan untuk menjalankan perintah berikut sebelum membuat:
pembaruan submodul git --init --rekursif
OpenConsole.sln dapat dibangun dari dalam Visual Studio atau dari baris perintah menggunakan serangkaian skrip & alat praktis di direktori /tools :
Impor-Modul .toolsOpenConsole.psm1Set-MsBuildDevEnvironmentInvoke-OpenConsoleBuild
.toolsrazzle.cmd bcz
Untuk men-debug Terminal Windows di VS, klik kanan pada CascadiaPackage
(di Solution Explorer) dan buka properti. Di menu Debug, ubah "Proses aplikasi" dan "Proses tugas latar belakang" menjadi "Hanya Asli".
Anda kemudian dapat membangun & men-debug proyek Terminal dengan menekan F5 . Pastikan untuk memilih platform "x64" atau "x86" - Terminal tidak dibuat untuk "Cpu Apa Pun" (karena Terminal adalah aplikasi C++, bukan aplikasi C#).
? Anda tidak akan dapat meluncurkan Terminal secara langsung dengan menjalankan WindowsTerminal.exe. Untuk rincian lebih lanjut tentang alasannya, lihat #926, #4043
Harap tinjau dokumen singkat di bawah ini tentang praktik pengkodean kami.
? Jika Anda menemukan sesuatu yang hilang dari dokumen ini, jangan ragu untuk berkontribusi pada file dokumentasi kami di mana pun di repositori (atau tulis beberapa yang baru!)
Ini adalah pekerjaan yang sedang berjalan saat kami mempelajari apa yang kami perlukan untuk menyediakan sumber daya manusia agar dapat menjadi kontributor yang efektif untuk proyek kami.
Gaya Pengkodean
Organisasi Kode
Pengecualian dalam basis kode lama kami
Pointer dan makro cerdas yang berguna untuk berinteraksi dengan Windows di WIL
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi lebih lanjut lihat FAQ Pedoman Perilaku atau hubungi [email protected] jika ada pertanyaan atau komentar tambahan.