TL;DR
- Terminal.Gui 2.0은 Windows, macOS, Linux/Unix에서 정교한 터미널 사용자 인터페이스(TUI) 앱을 구축하는 크로스 플랫폼 툴킷임.
- 반응형 레이아웃과 더블 버퍼링 렌더링을 제공하며, 테이블과 트리 뷰는 정렬·필터링을 지원하고 요소 수가 무한히 늘어나는 규모까지 확장됨.
- 키보드 중심 사용과 완전한 마우스 지원을 제공하고, 텍스트 편집기·버튼·체크박스·트리·테이블·마크다운 등 다양한 위젯을 포함함.
- 차트·그래프·진행 표시기·트루컬러 색상 선택기, 유니코드·클립보드·실행 취소 및 다시 실행을 지원하는 텍스트 편집 기능을 제공함.
- 터미널 안에서 스크롤되는 인라인 방식과 전체 화면 방식을 모두 지원하며, 설정 가능한 테마·색상·키 바인딩과 파일 브라우저·마법사 기능을 포함함.
Terminal.Gui
- Windows, macOS, Linux/Unix에서 정교한 터미널 사용자 인터페이스(TUI) 앱을 구축하는 크로스 플랫폼 UI 툴킷임.
- 버전 2.0이 출시됨.
- 최신 TUI를 위한 빠른 더블 버퍼링 렌더링을 제공하며, 테이블과 트리 뷰는 정렬 및 필터링 기능을 갖추고 무한한 요소까지 확장됨.
- 반응형 레이아웃 시스템으로 반응형 웹 페이지처럼 화면 크기에 대응하는 콘솔 앱을 쉽게 구축할 수 있음.
- 키보드 사용에 최적화되어 있으며 완전한 마우스 지원도 제공함.
- 텍스트 편집기, 버튼, 체크박스, 트리, 테이블, 마크다운, 선형 범위, 메뉴, 선택기 등 다양한 내장 뷰를 포함함.
- 차트, 그래프, 진행 표시기, 트루컬러(TrueColor) 지원 색상 선택기를 제공함.
- 텍스트 편집기는 클립보드, 실행 취소 및 다시 실행, 유니코드를 지원함.
- 테마, 색상, 키 바인딩, 설정을 모두 사용자 지정하고 저장할 수 있음.
- Nerdfonts와 색상 표시를 지원하는 파일·디렉터리 브라우저에 검색 및 필터링 기능을 포함함.
- 탐색과 검증 기능이 있는 안내형 워크플로를 위해 마법사와 다단계 프로세스를 제공함.
- Windows, macOS, Linux에서 일관된 경험을 제공함.
- Claude Code, Copilot, Codex CLI 같은 CLI 도구처럼 터미널에서 스크롤되는 인라인 방식이나 전체 화면 방식으로 앱을 구축할 수 있음.
- 사용 가능한 컨트롤은 Views Overview에서, 아키텍처 개선 사항은 What's New in v2에서 확인할 수 있음.
빠른 시작
Terminal.Gui.Templates를 설치하고 새 TUI 앱을 만든 뒤 실행하는 순서임.dotnet new install Terminal.Gui.Templates로 템플릿을 설치하고,dotnet new tui-simple -n myproj로 앱을 만든 다음cd myproj와dotnet run으로 실행함.
간단한 예제
Terminal.Gui.App,Terminal.Gui.ViewBase,Terminal.Gui.Views네임스페이스를 사용함.- 애플리케이션을 생성하고 초기화한 뒤, 제목이 있는 창을 만들고 화면 중앙에 인사말 레이블을 배치함.
- 창에서 앱을 실행하며,
Esc키로 종료하는 예제임. - 더 많은 예제는 Examples 디렉터리에서 확인할 수 있음.
문서
- 전체 문서는 tui-cs.github.io/Terminal.Gui에서 제공됨.
시작하기
- 시작 가이드: 첫 번째 Terminal.Gui 앱
- API 참조: 전체 API 문서
- What's New in v2: 새 기능과 개선 사항
마이그레이션 및 심층 안내
- v1에서 v2로 마이그레이션: 전체 마이그레이션 가이드
- 애플리케이션 아키텍처: 인스턴스 기반 모델과 IRunnable 패턴
- 레이아웃 시스템: 위치 지정, 크기 조정, 장식 요소
- 키보드 처리: 키 바인딩과 명령
- 뷰 문서: 뷰 계층 구조와 수명 주기
- 설정: 테마와 영구 설정
- 모든 주제는 문서 색인에서 확인할 수 있음.
기여
- 기여를 환영하며, 자세한 내용은 CONTRIBUTING.md에서 확인할 수 있음.
역사
- 프로젝트의 역사와 기원은 tui-cs에서 확인할 수 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요