英語で読む

次の方法で共有


Windows ターミナル サンプル コード

ピクセル シェーダー .hlsl サンプルEchoCon ConPTY サンプル Win32 疑似コンソール.NET をターゲットとする GUIConsole サンプル WPF コンソール基本的な PTY API 呼び出しを使用した MiniTerm サンプル、文字入力をストリーミングしながらコンソール イベントを監視する ReadConsoleInputStream デモなど、Windows ターミナル リポジトリにホストされているいくつかのサンプル コードについて説明します。

ピクセル シェーダー

GPU の膨大な計算能力のおかげで、ピクセル シェーダーを使って、リアルタイムのフラクタル ズーム、レイ トレーシング、画像処理など、素晴らしいことを行えます。

Windows ターミナル ユーザーは、settings.json ファイルのプロファイルに experimental.pixelShaderPath プロパティを追加することで、ターミナルにピクセル シェーダーを適用させることができます。 ピクセル シェーダーは、C 言語に似た HLSL と呼ばれる言語で記述されており、制限事項がいくつかあります。

Windows ターミナル リポジトリで提供されている次のようなピクセル シェーダー .hlsl サンプルを試してみてください: ピクセル シェーダー

Terminal Retro Pixel Shader sample

EchoCon ConPTY サンプル アプリ

このサンプル アプリケーションでは、次のような Win32 擬似コンソール (ConPTY) の使用方法を示します。

  1. 入力パイプと出力パイプを作成する
  2. CreatePseudoConsole() を呼び出して、パイプのもう一方の端に接続された ConPTY インスタンスを作成する
  3. ConPTY に接続された ping.exe のインスタンスを生成する
  4. 受信したテキストをコンソールに書き込み、ping.exe の出力をリッスンするスレッドを実行する

Windows ターミナル リポジトリにアクセスして、このサンプルを確認してください: EchoCon ConPTY サンプル アプリ

GUIConsole サンプル アプリ

このサンプル アプリケーションでは、カスタム WPF コンソールのスケルトン例を示します。

このサンプルでは、次を確認できます。

  • GUIConsole.WPF: .NET 4.6.1 をターゲットとする WPF アプリケーション。コンソールとして機能し、基になるコンソールを表示し続ける単一の WPF ウィンドウを作成します。

  • GUIConsole.ConPTY: .NET Standard 2.0 ライブラリ。コンソールの作成を処理し、疑似コンソールの動作を可能にします。 Terminal.cs ファイルには、WPF アプリケーションがやり取りする、公開されている部分が含まれています。 Terminal.cs では、コンソールの読み取りと書き込みを可能にする 2 つのものが公開されています。

    • ConsoleOutStream: 疑似コンソールの出力パイプにフックされた FileStream。 これにより VT100 が出力されます。
    • WriteToPseudoConsole (文字列入力): 指定された文字列を受け取り、その入力パイプを介して擬似コンソールに書き込むメソッド。 VT100 を受け入れます。

Windows ターミナル リポジトリにアクセスして、このサンプルを確認してください: GUIConsole

MiniTerm サンプル アプリ

この試験的なターミナルは、Microsoft の PTY API を使用して、基本的な API 呼び出しを実演するものです ("実際の" 使用を意図したものではありません)。 C# で記述され、ネイティブ コードの例に大きく基づいています。

Windows ターミナル リポジトリにアクセスして、このサンプルを確認してください: MiniTerm

ReadConsoleInputStream デモ

コンソールから文字入力ビューを同時にストリーミングしながら、コンソール イベント (マウス、メニュー、フォーカス、バッファ/ビューポートのサイズ変更など) を非同期に監視するデモです。 VT100 ストリームや ConPTY を使用する際に特に便利な機能です。

Windows ターミナル リポジトリにアクセスして、このデモを確認してください: ReadConsoleInputStream デモ