Leer en inglés

Compartir a través de


Código de ejemplo de Terminal Windows

Explore el código de ejemplo hospedado en el repositorio de Terminal Windows, en el que se incluyen ejemplos .hlsl del sombreador de píxeles, una pseudoconsola Win32 de ejemplo EchoCon ConPTY, una consola WPF de ejemplo GUIConsole destinada a .NET, un ejemplo de MiniTerm que usa llamadas API básicas de PTY y una demostración de ReadConsoleInputStream para supervisar los eventos de consola mientras se transmite la entrada de caracteres.

Sombreadores de píxeles

Debido a la gran cantidad de potencia de computación en GPU, se pueden hacer cosas increíbles con sombreadores de píxeles, como aplicar zoom fractal en tiempo real, seguimientos de rayos y procesamiento de imágenes.

Terminal Windows permite a los usuarios proporcionar un sombreador de píxeles, aplicado al terminal mediante la adición de la propiedad experimental.pixelShaderPath a un perfil en el archivo settings.json. Los sombreadores de píxeles se escriben en un lenguaje denominado HLSL, que es parecido a C con algunas restricciones.

Pruebe uno de los varios ejemplos .hlsl del sombreador de píxeles que se proporcionan en el repositorio de Terminal Windows: Sombreadores de píxeles.

Terminal Retro Pixel Shader sample

Aplicación de ejemplo EchoCon ConPTY

En esta aplicación de ejemplo se muestra cómo usar la pseudoconsola Win32 (ConPTY) mediante las siguientes acciones:

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

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

Aplicación de ejemplo GUIConsole

En esta aplicación de ejemplo se proporciona un esqueleto de ejemplo de una consola WPF personalizada.

Dentro de este ejemplo, encontrará:

  • GUIConsole.WPF: una aplicación WPF, destinada a .NET 4.6.1, que crea una sola ventana de 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 la pseudoconsola. El archivo Terminal.cs contiene las partes visibles públicamente con las que interactuará la aplicación WPF. Terminal.cs expone dos cosas que permiten leer y escribir en la consola:

    • ConsoleOutStream: secuencia de archivos enlazada a la canalización de salida de la pseudoconsola. Esto dará como resultado VT100.
    • WriteToPseudoConsole(entrada de cadena): método que tomará la cadena especificada y la escribirá en la pseudoconsola a través de su canalización de entrada. Esto acepta VT100.

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

Aplicación de ejemplo MiniTerm

En este terminal experimental se muestran las llamadas API básicas (no diseñadas para su uso en el "mundo real") mediante las API de PTY de Microsoft. Escrito en C# y basado en gran medida en los ejemplos de código nativo.

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

Demostración de ReadConsoleInputStream

Demostración de la supervisión asincrónica de eventos de consola (como el mouse, el menú, el foco, el cambio del tamaño de búfer o ventanilla) mientras se transmite simultáneamente la vista de entrada de caracteres desde la consola. Una característica especialmente útil al trabajar con flujos VT100 y ConPTY.

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