Kode contoh Windows Terminal

Jelajahi beberapa kode sampel yang dihosting di repositori Terminal Windows, termasuk sampel Pixel Shader .hlsl, sampel EchoCon ConPTY konsol pseudo Win32,konsol WPF sampel GUIConsole yang menargetkan .NET, sampel MiniTerm menggunakan panggilan API PTY dasar, dan demo ReadConsoleInputStream untuk pemantauan peristiwa konsol saat input karakter streaming.

Piksel Shader

Karena GPU menyediakan begitu banyak daya komputasi, Anda dapat melakukan hal-hal hebat dengan pemecah piksel, seperti zoom fraktal real-time, pelacak sinar, dan pemrosesan gambar.

Terminal Windows memungkinkan pengguna menyediakan shader piksel yang diterapkan ke terminal dengan menambahkan properti experimental.pixelShaderPath pada profil di file settings.json Anda. Shader piksel ditulis dalam bahasa yang disebut HLSL, bahasa seperti C dengan beberapa batasan.

Coba salah satu dari beberapa sampel Pixel Shader .hlsl yang disediakan di repositori Terminal Windows: Pixel Shaders.

Sampel Terminal Retro Pixel Shader

Aplikasi sampel EchoCon ConPTY

Aplikasi sampel ini menggambarkan cara menggunakan Win32 Pseudo Console (ConPTY) dengan:

  1. Membuat suatu saluran input dan saluran output
  2. Memanggil CreatePseudoConsole() untuk membuat instans ConPTY yang terhubung ke ujung lainnya dari pipa
  3. Memunculkan instans ping.exe yang terhubung ke ConPTY
  4. Menjalankan utas yang mendengarkan output dari ping.exe, menulis teks yang diterima ke Konsol

Kunjungi repositori Terminal Windows untuk menemukan sampel ini: Aplikasi Sampel EchoCon ConPTY.

Aplikasi sampel GUIConsole

Aplikasi sampel ini menyediakan contoh kerangka konsol WPF kustom.

Dalam sampel ini, Anda menemukan:

  • GUIConsole.WPF: aplikasi WPF yang menargetkan .NET 4.6.1, yang menciptakan satu jendela WPF sebagai konsol dan mempertahankan tampilan konsol tetap terlihat.

  • GUIConsole.ConPTY: pustaka .NET Standard 2.0 yang menangani pembuatan konsol dan mengaktifkan perilaku pseudoconsole. File Terminal.cs berisi komponen yang terlihat secara publik yang digunakan oleh aplikasi WPF untuk berinteraksi. Terminal.cs mengekspos dua hal yang memungkinkan membaca dari, dan menulis ke, konsol:

    • ConsoleOutStream: FileStream tersambung ke saluran keluaran pseudoconsole. Aliran ini menghasilkan VT100.
    • WriteToPseudoConsole(input string): metode yang mengambil string yang diberikan dan menulisnya ke pseudoconsole melalui pipa inputnya. Metode ini menerima VT100.

Kunjungi repositori Terminal Windows untuk menemukan sampel ini: GUIConsole.

Aplikasi sampel MiniTerm

Terminal eksperimental ini menunjukkan panggilan API dasar (tidak ditujukan untuk penggunaan "dunia nyata"), menggunakan API PTY dari Microsoft. Ini ditulis dalam C# dan sangat didasarkan pada contoh kode asli.

Kunjungi repositori Terminal Windows untuk menemukan sampel ini: MiniTerm.

ReadConsoleInputStream Demo

Demo ini menunjukkan pemantauan asinkron peristiwa konsol, seperti mouse, menu, fokus, perubahan ukuran buffer atau tampilan, sambil secara bersamaan mengalirkan tampilan masukan karakter dari konsol. Fitur ini sangat berguna saat bekerja dengan aliran VT100 dan ConPTY.

Kunjungi repositori Terminal Windows untuk menemukan demo ini: Demo ReadConsoleInputStream.