Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Изучите некоторые примеры кода, размещенного в репозитории Windows Terminal, включая примеры пиксельного шейдера .hlsl, пример псевдотерминала Win32 EchoConPTY, пример консоли GUIConsole WPF, ориентированная на .NET, пример MiniTerm, использующего базовые вызовы API PTY, а также демонстрацию ReadConsoleInputStream для мониторинга событий консоли при потоковой передачи ввода символов.
Шейдеры пикселей
Поскольку графические процессоры предоставляют огромную вычислительную мощность, вы можете выполнять потрясающие задачи с шейдерами пикселей, такие как реальное масштабирование фракталов, трассировка лучей и обработка изображений.
Терминал Windows позволяет пользователям задать шейдер пикселей для применения к терминалу, добавив свойство experimental.pixelShaderPath в профиль в файле settings.json. Шейдеры пикселей написаны на языке, называемом HLSL, языком C с некоторыми ограничениями.
Попробуйте один из нескольких примеров шейдера пикселей hlsl, предоставляемых в репозитории терминала Windows: шейдеры пикселей.
Пример приложения EchoCon ConPTY
В этом примере приложения показано, как использовать псевдоконсоля Win32 (ConPTY) следующим образом:
- Создание входных и выходных каналов
- Вызов CreatePseudoConsole() для создания экземпляра ConPTY, присоединенного к другому концу каналов
- Создание экземпляра ping.exe, подключенного к ConPTY
- Выполнение потока, прослушивающего выходные данные из ping.exe, запись полученного текста в консоль
Посетите репозиторий терминала Windows, чтобы найти этот пример: пример приложения EchoCon ConPTY.
Пример приложения GUIConsole
В этом примере приложения представлен пример скелета пользовательской консоли WPF .
В этом примере вы найдете следующее:
GUIConsole.WPF: приложение WPF, предназначенное для .NET 4.6.1, которое создает одно окно WPF, которое выступает в качестве консоли и сохраняет базовую консоль видимой.
GUIConsole.ConPTY: библиотека .NET Standard 2.0, которая обрабатывает создание консоли и обеспечивает псевдоконсоляное поведение. Файл Terminal.cs содержит общедоступные видимые части, с которыми взаимодействует приложение WPF. Terminal.cs предоставляет две возможности, которые позволяют читать данные из консоли и записывать их в:
-
ConsoleOutStream: FileStream подключен к выходному каналу псевдоконсоля. Этот поток выводит VT100. -
WriteToPseudoConsole(строковые входные данные): метод, который принимает указанную строку и записывает его в псевдоконсоль через входной канал. Этот метод принимает VT100.
-
Посетите репозиторий терминала Windows, чтобы найти этот пример: GUIConsole.
Пример приложения MiniTerm
Этот экспериментальный терминал демонстрирует базовые вызовы API (не предназначенные для использования в реальном мире) с помощью API PTY от Майкрософт. Он написан на C# и сильно основан на примерах машинного кода.
Посетите репозиторий терминала Windows, чтобы найти этот пример: MiniTerm.
Демонстрация ReadConsoleInputStream
В этой демонстрации показан асинхронный мониторинг событий консоли, таких как мышь, меню, фокусировка и изменение размеров буфера или окна просмотра, а также одновременная трансляция вида ввода символов из консоли. Эта функция особенно полезна при работе с потоками VT100 и ConPTY.
Посетите репозиторий терминала Windows, чтобы найти эту демонстрацию: ReadConsoleInputStream Demo.
Windows Terminal