Windows 터미널 리포지토리에 호스팅된 샘플 코드 중 일부를 살펴보세요. 여기에는 픽셀 셰이더 .hlsl 샘플, EchoCon ConPTY 샘플용 Win32 의사 콘솔, .NET을 대상으로 하는 GUIConsole 샘플 WPF 콘솔, 기본 PTY API 호출을 사용하는 MiniTerm 샘플 및 문자 입력을 스트리밍하면서 콘솔 이벤트를 모니터링하기 위한 ReadConsoleInputStream 데모가 포함됩니다.
픽셀 셰이더
GPU는 많은 컴퓨팅 능력을 제공하기 때문에 실시간 프랙탈 줌, 광선 추적기 및 이미지 처리와 같은 픽셀 셰이더를 사용하여 훌륭한 작업을 수행할 수 있습니다.
Windows 터미널에서 사용자가 settings.json 파일의 프로필에 experimental.pixelShaderPath 속성을 추가하여 터미널에 적용되는 픽셀 셰이더를 제공할 수 있습니다. 픽셀 셰이더는 몇 가지 제한 사항이 있는 C와 유사한 언어인 HLSL이라는 언어로 작성됩니다.
Windows 터미널 리포지토리에 제공된 여러 픽셀 셰이더 .hlsl 샘플 중 하나인 픽셀 셰이더를 사용해 보세요.
EchoCon ConPTY 샘플 앱
이 샘플 애플리케이션에서는 다음을 통해 Win32 ConPTY(의사 콘솔)를 사용하는 방법을 보여 줍니다.
- 입력 및 출력 파이프 만들기
- CreatePseudoConsole()을 호출하여 파이프의 다른 쪽 끝에 연결된 ConPTY 인스턴스 만들기
- ConPTY에 연결된 ping.exe 인스턴스 생성
- ping.exe출력을 수신 대기하는 스레드 실행, 수신된 텍스트를 콘솔에 쓰기
Windows 터미널 리포지토리를 방문하여 이 샘플인 EchoCon ConPTY 샘플 앱을 찾습니다.
GUIConsole 샘플 앱
이 샘플 애플리케이션은 사용자 지정 WPF 콘솔의 기본 예제를 제공합니다.
이 샘플 내에서 다음을 찾을 수 있습니다.
GUIConsole.WPF: .NET 4.6.1을 대상으로 하는 WPF 애플리케이션으로, 콘솔 역할을 하고 기본 콘솔을 계속 표시하는 단일 WPF 창을 만듭니다.
.NET Standard 2.0 라이브러리인 GUIConsole.ConPTY는 콘솔 생성과 의사 콘솔 동작을 처리합니다. Terminal.cs 파일에는 WPF 애플리케이션이 상호 작용하는 공개적으로 표시되는 부분이 포함되어 있습니다. Terminal.cs 콘솔에서 읽고 쓸 수 있는 다음 두 가지를 노출합니다.
-
ConsoleOutStream: pseudoconsole의 출력 파이프에 연결된 FileStream입니다. 이 스트림은 VT100을 출력합니다. -
WriteToPseudoConsole(문자열 입력): 지정된 문자열을 가져와서 입력 파이프라인을 통해 의사 콘솔에 기록하는 메서드입니다. 이 메서드는 VT100을 허용합니다.
-
Windows 터미널 리포지토리를 방문하여 GUIConsole 샘플을 찾습니다.
MiniTerm 샘플 앱
이 실험적 터미널은 Microsoft의 PTY API를 사용하는 기본 API 호출("실제" 사용용이 아님)을 보여 줍니다. C#으로 작성되었으며 네이티브 코드 예제를 기반으로 합니다.
Windows 터미널 리포지토리를 방문하여 이 샘플인 MiniTerm을 찾습니다.
ReadConsoleInputStream 데모
이 데모에서는 콘솔에서 문자 입력 보기를 동시에 스트리밍하면서 마우스, 메뉴, 포커스, 버퍼 또는 뷰포트 크기 조정과 같은 콘솔 이벤트의 비동기 모니터링을 보여 줍니다. 이 기능은 VT100 스트림 및 ConPTY로 작업할 때 특히 유용합니다.
Windows 터미널 리포지토리를 방문하여 다음 데모를 찾습니다. ReadConsoleInputStream 데모.
Windows Terminal