Lire en anglais

Partager via


Exemple de code Terminal Windows

Explorez quelques exemples de code hébergés dans le dépôt Terminal Windows, y compris des exemples de nuanceur de pixels .hlsl, un exemple de pseudoconsole Win32 EchoCon ConPTY, un exemple de console WPF GUIConsole ciblant .NET, un exemple MiniTerm utilisant des appels d’API PTY de base et une démonstration ReadConsoleInputStream pour la supervision des événements de console lors du streaming d’entrées de caractères.

Nuanceurs de pixels

En raison de la grande puissance de calcul des GPU, vous pouvez faire des choses étonnantes avec des nuanceurs de pixels, comme le zoom fractal en temps réel, les traceurs de rayon et le traitement d’image.

Le Terminal Windows permet aux utilisateurs de fournir un nuanceur de pixels, qui est appliqué au terminal en ajoutant la propriété experimental.pixelShaderPath à un profil dans votre fichier settings.json. Les nuanceurs de pixels sont écrits dans un langage appelé HLSL, qui est un langage de type C avec quelques restrictions.

Essayez un des nombreux exemples de nuanceur de pixels .hlsl fournis dans dépôt du Terminal Windows : Nuanceurs de pixels.

Terminal Retro Pixel Shader sample

Exemple d’application EchoCon ConPTY

Cet exemple d’application montre comment utiliser la pseudoconsole Win32 (ConPTY) :

  1. En créant un canal d’entrée et un canal de sortie
  2. En appelant CreatePseudoConsole() pour créer une instance ConPTY attachée à l’autre extrémité des canaux
  3. En générant une instance de ping.exe connectée à ConPTY
  4. En exécutant un thread qui écoute la sortie de ping.exe et qui écrit le texte reçu sur la console

Visitez le dépôt du Terminal Windows pour trouver cet exemple : Exemple d’application EchoCon ConPTY.

Exemple d’application GUIConsole

Cet exemple d’application fournit un exemple de squelette d’une console WPF personnalisée.

Dans cet exemple, vous allez trouver :

  • GUIConsole.WPF : une application WPF ciblant .NET 4.6.1, qui crée une seule fenêtre WPF agissant comme console et qui laisse la console sous-jacente visible.

  • GUIConsole.ConPTY : une bibliothèque .NET Standard 2.0 qui gère la création de la console et active le comportement de pseudoconsole. Le fichier Terminal.cs contient les éléments visibles publiquement avec lesquels l’application WPF va interagir. Terminal.cs expose deux éléments qui permettent la lecture et l’écriture dans la console :

    • ConsoleOutStream : un FileStream raccordé au canal de sortie de la pseudoconsole. La sortie sera du VT100.
    • WriteToPseudoConsole(entrée chaîne) : une méthode qui va prendre la chaîne donnée et l’écrire dans la pseudoconsole via son canal d’entrée. Ceci accepte du VT100.

Visitez le dépôt du Terminal Windows pour trouver cet exemple : GUIConsole.

Exemple d’application MiniTerm

Ce terminal expérimental montre des appels d’API de base (non destinés à une utilisation réelle) en utilisant les API PTY de Microsoft. Écrit en C# et largement basé sur les exemples de code natif.

Visitez le dépôt du Terminal Windows pour trouver cet exemple : MiniTerm.

Démonstration ReadConsoleInputStream

Démonstration de la supervision asynchrone des événements de console (comme des événements de souris, de menu, de focus, de redimensionnement de la mémoire tampon/fenêtre d’affichage) tout en effectuant simultanément le streaming de la vue de saisie de caractères à partir de la console. Une fonctionnalité particulièrement utile quand vous travaillez avec des flux VT100 et ConPTY.

Visitez le dépôt du Terminal Windows pour trouver cette démonstration : Démonstration ReadConsoleInputStream.