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.
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.
Este aplicativo de exemplo ilustra como usar o pseudoconsole do Win32 (ConPTY):
- Criando uma entrada e um pipe de saída
- Chamando CreatePseudoConsole() para criar uma instância do ConPTY anexada à outra extremidade dos pipes
- Gerando uma instância de ping.exe conectada com o ConPTY
- 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.
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.
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 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.
Comentários do Windows Terminal
O Windows Terminal é um projeto código aberto. Selecione um link para fornecer comentários: