Código de ejemplo de Terminal Windows

Explore parte del código de ejemplo hospedado en el repositorio de Windows Terminal, incluidos los ejemplos .hlsl del Pixel Shader, una muestra Win32 de pseudoconsola de EchoCon, una consola WPF de ejemplo GUIConsole destinada a .NET, un ejemplo de MiniTerm mediante llamadas API PTY básicas y una demostración ReadConsoleInputStream para supervisar eventos de consola mientras se transmite la entrada de caracteres.

Sombreadores de píxeles

Dado que las GPU proporcionan tanta potencia informática, puede hacer grandes cosas con sombreadores de píxeles, como el zoom fractal en tiempo real, los seguimientos de rayos y el procesamiento de imágenes.

Windows Terminal permite a los usuarios proporcionar un sombreador de píxeles aplicado al terminal agregando la propiedad experimental.pixelShaderPath a un perfil en tu archivo settings.json. Los sombreadores de píxeles se escriben en un lenguaje denominado HLSL, un lenguaje similar a C con algunas restricciones.

Pruebe uno de varios ejemplos .hlsl del sombreador de píxeles proporcionados en el repositorio de Terminal Windows: Sombreadores de píxeles.

Ejemplo de sombreador de píxeles de Terminal Retro

Aplicación de ejemplo EchoCon ConPTY

En esta aplicación de ejemplo se muestra cómo usar la pseudoconsola Win32 (ConPTY) por:

  1. Creación de una entrada y una canalización de salida
  2. Llamar a CreatePseudoConsole() para crear una instancia de ConPTY asociada al otro extremo de las canalizaciones
  3. Generar una instancia de ping.exe conectada a ConPTY
  4. Ejecución de un subproceso que escucha la salida de ping.exe, escribiendo texto recibido en la consola

Visite el repositorio de Terminal Windows para encontrar este ejemplo: Aplicación de ejemplo EchoCon ConPTY.

Aplicación de ejemplo GUIConsole

Esta aplicación de ejemplo proporciona un esqueleto de ejemplo de una consola WPF personalizada.

En este ejemplo, encontrará:

  • GUIConsole.WPF: una aplicación WPF destinada a .NET 4.6.1, que crea una única ventana wpF que actúa como consola y mantiene visible la consola subyacente.

  • GUIConsole.ConPTY: una biblioteca de .NET Standard 2.0 que controla la creación de la consola y habilita el comportamiento de pseudoconsola. El archivo Terminal.cs contiene las partes visibles públicamente con las que interactúa la aplicación WPF. Terminal.cs expone dos cosas que permiten leer y escribir en la consola:

    • ConsoleOutStream: una secuencia de archivos enlazada a la canalización de salida de la pseudoconsola. Esta secuencia genera VT100.
    • WriteToPseudoConsole(entrada de cadena): un método que toma la cadena especificada y lo escribe en la pseudoconsola a través de su canalización de entrada. Este método acepta VT100.

Visite el repositorio de Terminal Windows para encontrar este ejemplo: GUIConsole.

Aplicación de ejemplo MiniTerm

Este terminal experimental muestra llamadas API básicas (no diseñadas para el uso "real") mediante las API PTY de Microsoft. Se escribe en C# y se basa en gran medida en los ejemplos de código nativo.

Visite el repositorio de Terminal Windows para encontrar este ejemplo: MiniTerm.

Demostración de ReadConsoleInputStream

En esta demostración se muestra la supervisión asincrónica de eventos de consola, como el mouse, el menú, el foco y el cambio de tamaño de la ventanilla o el búfer, al tiempo que transmite simultáneamente la vista de entrada de caracteres desde la consola. Esta característica es especialmente útil al trabajar con secuencias VT100 y ConPTY.

Visite el repositorio de Terminal Windows para encontrar esta demostración: ReadConsoleInputStream Demo.