Ler em inglês

Compartilhar via


Código de exemplo do Terminal do Windows

Explore alguns dos códigos de exemplo hospedados no repositório do Terminal do Windows, incluindo exemplos de .hlsl do sombreador de pixel, um pseudoconsole do Win32 de exemplo do EchoCon ConPTY, um console do WPF de exemplo do GUIConsole direcionado ao .NET, um exemplo do MiniTerm que usa chamadas à API PTY básicas e uma demonstração do ReadConsoleInputStream para monitorar eventos do console e ainda transmitir entrada de caracteres.

Sombreadores de pixel

Devido à grande quantidade de potência de computação nas GPUs, é possível fazer coisas incríveis com sombreadores de pixel, como zoom fractal em tempo real, rastreamentos de raio e processamento de imagem.

O Terminal do Windows permite que os usuários usem um sombreador de pixel, aplicado ao terminal adicionando a propriedade experimental.pixelShaderPath a um perfil no arquivo settings.json. Os sombreadores de pixel são escritos em uma linguagem chamada HLSL, uma linguagem como a C, com algumas restrições.

Experimente um dos vários exemplos de .hlsl de sombreador de pixel fornecidos no repositório do Terminal do Windows: Sombreadores de Pixel.

Terminal Retro Pixel Shader sample

Aplicativo de exemplo EchoCon ConPTY

Este aplicativo de exemplo ilustra como usar o pseudoconsole do Win32 (ConPTY):

  1. Criando uma entrada e um pipe de saída
  2. Chamando CreatePseudoConsole() para criar uma instância do ConPTY anexada à outra extremidade dos pipes
  3. Gerando uma instância de ping.exe conectada com o ConPTY
  4. Executando um thread que escuta a saída do ping.exe, escrevendo o texto recebido no Console

Visite o repositório do Terminal do Windows para encontrar este exemplo: aplicativo de exemplo EchoCon ConPTY.

Aplicativo de exemplo GUIConsole

Este aplicativo de exemplo fornece um esqueleto de exemplo de um console do WPF personalizado.

Neste exemplo, você encontrará:

  • GUIConsole.WPF: um aplicativo WPF, direcionado ao .NET 4.6.1, que cria uma só janela do WPF que atua como o console e mantém o console subjacente visível.

  • GUIConsole.ConPTY: uma biblioteca .NET Standard 2.0 que lida com a criação do console e habilita o comportamento do pseudoconsole. O arquivo Terminal.cs contém as partes publicamente visíveis com as que o aplicativo WPF interagirá. Terminal.cs expõe duas coisas que permitem ler e escrever no console:

    • ConsoleOutStream: um fluxo de arquivos conectado com o pipe de saída do pseudoconsole. A saída VT100 será gerada.
    • WriteToPseudoConsole(entrada de cadeia de caracteres): um método que pegará a cadeia de caracteres determinada e a gravará no pseudoconsole por meio do pipe de entrada. Aceita VT100.

Visite o repositório do Terminal do Windows para ver este exemplo: GUIConsole.

Aplicativo de exemplo MiniTerm

Este terminal experimental demonstra as chamadas à API básicas (não destinadas ao uso no "mundo real) usando as APIs PTY da Microsoft. Escrito em C# e altamente baseado nos exemplos de código nativo.

Visite o repositório do Terminal do Windows para ver este exemplo: MiniTerm.

Demonstração do ReadConsoleInputStream

Demonstração do monitoramento assíncrono de eventos do console (como mouse, menu, foco, buffer/redimensionamento do visor) ao transmitir simultaneamente a exibição de entrada de caracteres do console. Um recurso que ajuda muito ao trabalhar com fluxos VT100 e com o ConPTY.

Visite o repositório do Terminal do Windows para ver esta demonstração: Demonstração do ReadConsoleInputStream.