영어로 읽기

다음을 통해 공유


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는 다음과 같이 콘솔에서 읽고 쓸 수 있는 두 가지를 노출합니다.

    • ConsoleOutStream: 의사 콘솔의 출력 파이프에 연결된 FileStream. 이는 VT100을 출력합니다.
    • WriteToPseudoConsole(문자열 입력): 주어진 문자열을 가져와서 입력 파이프를 통해 의사 콘솔에 쓰는 메서드입니다. 이는 VT100을 허용합니다.

Windows 터미널 리포지토리를 방문하여 이 샘플을 찾으세요(GUIConsole).

MiniTerm 샘플 앱

이 실험적 터미널은 Microsoft의 PTY API를 사용한 기본 API 호출("실제" 사용을 위한 것이 아님)을 보여줍니다. C#으로 작성되었으며 네이티브 코드 예를 기반으로 합니다.

Windows 터미널 리포지토리를 방문하여 이 샘플을 찾으세요(MiniTerm).

ReadConsoleInputStream 데모

콘솔에서 문자 입력 보기를 동시에 스트리밍하는 동안 콘솔 이벤트(예: 마우스, 메뉴, 포커스, 버퍼/뷰포트 크기 조정)의 비동기 모니터링 데모입니다. VT100 스트림 및 ConPTY를 사용할 때 특히 유용한 기능입니다.

이 데모를 찾으려면 Windows 터미널 리포지토리를 방문하세요(ReadConsoleInputStream 데모).