Windows 터미널 샘플 코드
픽셀 셰이더 .hlsl 샘플, EchoCon ConPTY 샘플 Win32 의사 콘솔, .NET을 대상으로 하는 GUIConsole 샘플 WPF 콘솔, 기본 PTY API 호출을 사용하는 MiniTerm 샘플 및 캐릭터 입력을 스트리밍하면서 콘솔 이벤트 모니터링을 위한 ReadConsoleInputStream 데모를 포함한 Windows 터미널 샘플 리포지토리에서 호스트된 몇 가지 샘플 코드를 살펴봅니다.
GPU의 컴퓨팅 성능이 막대하기 때문에 실시간 프랙탈 확대/축소, 광선 추적기 및 이미지 처리와 같은 픽셀 셰이더를 사용하여 멋진 작업을 수행할 수 있습니다.
Windows 터미널 사용하면 settings.json 파일의 프로필에 experimental.pixelShaderPath
속성을 추가하여 터미널에 적용된 픽셀 셰이더를 제공할 수 있습니다. 픽셀 셰이더는 몇 가지 제한이 있는 C 계열 언어인 HLSL이라는 언어로 작성됩니다.
Windows 터미널 리포지토리(픽셀 셰이더)에 제공된 여러 픽셀 셰이더 .hlsl 샘플 중 하나를 사용해 보세요.
이 샘플 애플리케이션은 다음을 통해 Win32 의사 콘솔(ConPTY)을 사용하는 방법을 보여줍니다.
- 입력 및 출력 파이프 만들기
- CreatePseudoConsole()을 호출하여 파이프의 다른 쪽 끝에 연결된 ConPTY 인스턴스 만들기
- ConPTY에 연결된 ping.exe 인스턴스 생성
- ping.exe 출력을 수신 대기하는 스레드 실행, 받은 텍스트를 콘솔에 쓰기
Windows 터미널 리포지토리를 방문하여 이 샘플을 찾으세요(EchoCon ConPTY 샘플 앱).
이 샘플 애플리케이션은 사용자 지정 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).
이 실험적 터미널은 Microsoft의 PTY API를 사용한 기본 API 호출("실제" 사용을 위한 것이 아님)을 보여줍니다. C#으로 작성되었으며 네이티브 코드 예를 기반으로 합니다.
Windows 터미널 리포지토리를 방문하여 이 샘플을 찾으세요(MiniTerm).
콘솔에서 문자 입력 보기를 동시에 스트리밍하는 동안 콘솔 이벤트(예: 마우스, 메뉴, 포커스, 버퍼/뷰포트 크기 조정)의 비동기 모니터링 데모입니다. VT100 스트림 및 ConPTY를 사용할 때 특히 유용한 기능입니다.
이 데모를 찾으려면 Windows 터미널 리포지토리를 방문하세요(ReadConsoleInputStream 데모).
Windows Terminal 피드백
Windows Terminal은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.