Windows 기본 콘솔은 지금 어느 Git 브랜치에 있는지, 방금 친 명령이 성공했는지가 프롬프트에 안 보입니다. 그러다 엉뚱한 브랜치에 커밋하거나, 실패한 명령 위에서 계속 삽질하다 시간을 흘려보내기 쉽습니다.
Windows 환경에서 개발하며 이번에 새로 터미널을 세팅한 순서를 그대로 정리했습니다. 이 순서대로 가면 5분 안에 브랜치·경로·상태가 한눈에 보이는 프롬프트가 손에 잡힙니다.
이 글은 개발 환경 설치 목록이나 에디터 테마 정리와 달리 터미널 프롬프트 꾸미기 하나에 집중합니다. 관련 주제는 아래 관련 글 박스로 연결해 뒀습니다.
1. 기본 콘솔은 뭐가 안 보이나
Windows Terminal 커스터마이징을 하는 이유는 단순합니다. 정보가 프롬프트에 안 뜨기 때문입니다. 기본 PowerShell 프롬프트는 PS C:\project> 한 줄이 전부라, Git 브랜치도 직전 명령의 성공 여부도 매번 따로 확인해야 합니다.
| 항목 | 기본 콘솔 | oh-my-posh 프롬프트 |
|---|---|---|
| Git 브랜치 표시 | 없음 (git branch 매번) |
프롬프트에 상시 표시 |
| 현재 경로 축약 | 전체 경로 그대로 | 긴 경로 자동 축약 |
| 직전 명령 exit code | 안 보임 | 성공/실패 색·기호로 표시 |
| 실행 시간 | 없음 | 오래 걸린 명령 시간 표시 |
| Nerd Font 필요 | 불필요 | 아이콘 표시에 필요 |
표에서 실무 체감이 가장 큰 건 exit code입니다. 빌드나 배포 스크립트가 조용히 실패했는데 그 위에서 다음 명령을 이어 치는 실수가, 프롬프트 색만 바뀌어도 거의 사라집니다. 브랜치 표시도 마찬가지라 git status를 반사적으로 치던 습관이 줄어듭니다.
2. 설치 3종 (winget)

Windows Terminal 커스터마이징의 세팅은 세 개를 winget으로 까는 걸로 시작합니다. Windows Terminal(터미널 앱), PowerShell 7(셸), oh-my-posh(프롬프트 엔진)입니다.
winget install Microsoft.WindowsTerminal
winget install Microsoft.PowerShell
winget install JanDeDobbeleer.OhMyPosh --source winget
Microsoft.PowerShell은 PowerShell 7로, 현재 7.6 LTS가 .NET 10 기반입니다. Windows에 기본 내장된 5.1과 별개로 설치되며, oh-my-posh는 이 pwsh 위에서 돌리는 걸 기준으로 잡습니다. 설치가 끝나면 터미널을 완전히 닫았다 다시 열어야 명령 경로가 잡힙니다. 저는 재시작을 건너뛰고 oh-my-posh 명령을 쳤다가 "인식되지 않는다"는 에러를 보고 한 번 헤맸습니다.
3. 아이콘이 □로 깨질 때 — Nerd Font
프롬프트를 켜면 브랜치나 폴더 자리에 아이콘 대신 □(네모)가 뜨는 경우가 많습니다. 이건 테마 문제가 아니라 폰트 문제입니다.
증상: 프롬프트의 아이콘 자리가 □·물음표로 깨져 보임
원인: 테마가 쓰는 특수 글리프를 일반 폰트가 갖고 있지 않음. Nerd Font가 필요함
해결: oh-my-posh font install 로 Nerd Font 설치 후 터미널 폰트를 해당 폰트로 지정
oh-my-posh font install
실행하면 폰트 목록이 뜨는데 CascadiaCode를 고르면 무난합니다. 설치 뒤 터미널 설정 → 프로필 → 모양 → 글꼴에서 폰트를 CaskaydiaCove NF로 바꿔줍니다. 이름이 설치할 때(CascadiaCode)와 표시될 때(CaskaydiaCove NF)가 달라서 헷갈리기 쉬우니 "NF"가 붙은 항목을 고르면 됩니다. 폰트를 바꾸는 순간 □가 아이콘으로 바뀝니다.
4. 테마 고르고 프로필에 한 줄 넣기
oh-my-posh는 내장 테마가 여럿이라 직접 보고 고르는 게 빠릅니다. 미리보기는 이 명령으로 봅니다.
Get-PoshThemes
터미널에 테마들이 쭉 렌더되니 마음에 드는 이름을 기억해 둡니다. 다음은 PowerShell 프로필($PROFILE)에 활성화 한 줄을 넣는 단계입니다. 프로필은 pwsh가 켜질 때마다 자동 실행되는 스크립트라, 여기 넣어야 매번 프롬프트가 적용됩니다.
notepad $PROFILE
메모장이 열리면 아래 한 줄을 넣고 저장합니다. 특정 테마를 쓰려면 --config로 경로를 지정합니다.
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-Expression
테마를 안 정하고 기본으로 쓰려면 oh-my-posh init pwsh | Invoke-Expression 한 줄이면 됩니다. 저장 후 터미널을 다시 열면 적용됩니다. 처음엔 화려한 테마를 골랐다가 정보 밀도가 너무 높아서, 브랜치·경로·exit code만 깔끔하게 보이는 쪽으로 바꿨습니다. 이 Windows Terminal 커스터마이징에서 테마는 취향이라 몇 번 갈아봐도 됩니다.
5. 프롬프트 너머 — 예측 입력·별칭
프롬프트를 꾸몄으면 입력 생산성도 같이 올리는 게 좋습니다. PowerShell 7.2+에 내장된 PSReadLine의 예측 입력을 켜면, 과거에 친 명령을 회색으로 미리 보여주고 → 방향키로 바로 채워 넣습니다.
Set-PSReadLineOption -PredictionSource History
이 줄도 $PROFILE에 같이 넣어두면 매번 켜집니다. 자주 치는 긴 명령은 별칭으로 줄일 수도 있지만, 예측 입력이 히스토리 기반이라 저는 git 계열 별칭 두어 개만 남기고 나머지는 예측 입력에 맡기는 편입니다.
Q&A — 자주 보는 질문 4개
아이콘이 □(네모)로 깨져요.
Nerd Font 미지정이 원인입니다. oh-my-posh font install로 폰트를 깔고, 터미널 글꼴을 CaskaydiaCove NF로 바꾸면 해결됩니다.
프롬프트가 눈에 띄게 느려졌어요.
Git 상태를 매번 계산하는 테마가 원인일 때가 많습니다. 정보가 적은 가벼운 테마로 바꾸거나, 아주 큰 저장소 폴더에서는 브랜치 표시가 무거울 수 있습니다.
VS Code 통합 터미널에도 적용되나요.
됩니다. VS Code 터미널도 pwsh를 쓰면 같은 $PROFILE을 읽습니다. 다만 아이콘이 깨지면 VS Code 설정에서 terminal.integrated.fontFamily를 CaskaydiaCove NF로 지정해야 합니다.
WSL이나 bash에서도 되나요.
됩니다. oh-my-posh는 셸별 init 명령이 따로 있어서, bash는 oh-my-posh init bash를 해당 셸의 프로필(~/.bashrc 등)에 넣으면 같은 방식으로 적용됩니다.
마무리
Windows Terminal 커스터마이징은 취향 꾸미기처럼 보이지만, 실제 이득은 브랜치·경로·exit code가 프롬프트에 상시 뜨면서 확인 명령을 줄여주는 데 있습니다. 순서는 winget 설치 → 프로필 init 한 줄 → Nerd Font 지정 → 테마 선택, 이게 전부입니다. 같은 환경이면 위 순서대로 따라가도 무리 없습니다.
*2026-09 기준이며, 도구 버전·명령 옵션은 이후 바뀔 수 있습니다.*
설치 환경: Windows 11, PowerShell 7.6, Windows Terminal, oh-my-posh
'IT > Information' 카테고리의 다른 글
| Vercel vs Cloudflare vs Netlify — 호스팅 실비용 비교 (0) | 2026.07.02 |
|---|---|
| JWT·OAuth2·세션 + 인증 SaaS 비교 — 백엔드 인증 방식 선택 기준 (1) | 2026.07.01 |
| 개발팀 SaaS 도구 12가지 — 5인 팀 실비용 매트릭스 (무료 조합) (0) | 2026.06.28 |
| AWS 비용 절감 10가지 — 1년 운영 실비용으로 본 우선순위 (0) | 2026.06.28 |
| yarn vs npm vs pnpm — 설치 속도·디스크·monorepo 실측 비교 (0) | 2026.06.23 |
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!