Благодаря огромной вычислительной мощности графических процессоров с помощью пиксельных шейдеров можно делать потрясающие вещи, например фрактальное масштабирование в реальном времени, трассировку лучей и обработку изображений.
Терминал Windows позволяет пользователям предоставлять пиксельный шейдер, применяемый к терминалу, путем добавления свойства experimental.pixelShaderPath в профиль в файле settings.json. Пиксельные шейдеры написаны на языке, HLSL, C-подобном языке с некоторыми ограничениями.
Попробуйте один из нескольких примеров .hlsl пиксельных шейдеров, представленных в репозитории Windows Terminal: пиксельные шейдеры.
Пример приложения EchoCon ConPTY
В этом примере приложения показано, как использовать псевдоконсоль Win32 (ConPTY), выполнив следующие операции:
Создание входного и выходного канала.
Вызов CreatePseudoConsole() для создания экземпляра ConPTY, подключенного к другому концу каналов.
Создание экземпляра ping.exe, подключенного к ConPTY.
Запуск потока, который прослушивает вывод ping.exe, записывая полученный текст в консоль.
Это пример приложения представляет структуру настраиваемой консоли 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.
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о Windows Terminal
Windows Terminal — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
В этом модуле вы узнаете, как использовать подсистема Windows для Linux (WSL) с Visual Studio Code (VS Code). Мы рассмотрим процесс установки и основы использования WSL. Кроме того, мы устанавливаем и используем расширение WSL Visual Studio Code. Наконец, мы покажем, как отлаживать и запускать код Python в VS Code в нашей среде WSL.