내가 보려고 만든 개발 환경 설정 - 윈도우편
윈도우에서 맥처럼 개발하기 위한 환경 설정 가이드
필자는 대학생 시절부터 스타벅스 출입증을 부여받기 위해 맥북만을 고집했습니다.
그놈의 사과 감성이 뭐라고, 어릴 적 윈도우와의 추억을 모두 버리고 맥북을 사용하게 되면서 처음에는 맥북의 인터페이스에 많이 당황했습니다만, 지금은 오히려 macOS 환경이 더 익숙해졌습니다.
최근에 윈도우 환경에서 개발을 진행할 일이 생겨 윈도우 노트북을 구입하게 되었고,
맥에서 쓰던 것처럼 윈도우에서 개발할 수 있도록 환경을 구축한 내용을 정리합니다.
해당 포스팅은 FE Developer의 환경 설정에 초점을 맞추고 있습니다.
1. 시스템 기본 설정
윈도우 업데이트
- 설정 → 업데이트 및 보안 → Windows Update
- 업데이트 설치 완료 후 재부팅
개발자 모드 활성화
- 설정 → 업데이트 및 보안 → 개발자용
개발자 모드활성화
PowerShell 실행 정책 변경
관리자 권한으로 PowerShell을 실행한 후 다음 명령어를 입력합니다.
Set-ExecutionPolicy RemoteSigned2. Windows Terminal 설치
WSL을 설치하기 전에 먼저 터미널 환경을 준비합니다.
설치
Microsoft Store에서 Windows Terminal을 설치합니다.
폰트 설치
맥의 터미널 느낌을 내려면 개발자용 폰트를 설치하는 게 좋습니다.
winget install JetBrains.JetBrainsMonoPowerlevel10k 테마를 사용할 예정이라면 MesloLGS NF 폰트도 다운받아 설치합니다.
3. WSL (Windows Subsystem for Linux) 설치
윈도우에서 개발한다면 WSL은 거의 필수입니다.맥의 터미널 환경과 거의 동일하게 사용할 수 있고, 대부분의 FE 도구들이 Linux 환경에서 더 잘 작동합니다.
WSL 설치
관리자 권한으로 PowerShell을 열고 실행합니다.
wsl --install재부팅 후 Ubuntu가 자동으로 설치됩니다. 사용자 계정과 비밀번호를 설정합니다.
Windows Terminal 기본 프로필 변경
- Windows Terminal 실행
- 상단 탭 옆
∨버튼 → 설정 (또는Ctrl + ,) - 시작 → 기본 프로필을
Ubuntu로 변경 - 시작 → 기본 터미널 응용 프로그램을
Windows 터미널로 변경
이렇게 설정하면 터미널을 열 때마다 자동으로 WSL Ubuntu가 실행됩니다.
폰트 적용
- 설정 → 프로필 → Ubuntu → 모양
- 글꼴 →
MesloLGS NF또는JetBrains Mono선택 - 글꼴 크기 → 12~14 추천
WSL 기본 설정
sudo apt update && sudo apt upgrade -ysudo apt install -y build-essential curl wget git unzip zsh4. 터미널 꾸미기 (Oh My Zsh)
맥에서 iTerm2 + Oh My Zsh 조합을 쓰듯이, WSL에서도 동일하게 구성합니다.
Oh My Zsh 설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"설치 중 기본 쉘을 Zsh로 변경할지 묻는 프롬프트가 나오면 Y를 입력합니다.
Powerlevel10k 테마 설치
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k~/.zshrc 파일을 열어 테마를 변경합니다.
ZSH_THEME="powerlevel10k/powerlevel10k"터미널을 재시작하면 Powerlevel10k 설정 마법사가 실행됩니다.
필수 플러그인 설치
zsh-autosuggestions: 이전에 입력한 명령어를 자동으로 제안해줍니다.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionszsh-syntax-highlighting: 명령어 문법에 따라 색상을 표시해줍니다.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting~/.zshrc 파일을 열어 플러그인을 추가합니다.
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
node
npm
)설정 적용:
source ~/.zshrc5. Git 설정
Git 기본 설정
git config --global user.name "유저 이름"
git config --global user.email "유저 이메일"SSH 키 생성 및 GitHub 연결
ssh-keygen -t ed25519 -C "your.email@example.com"eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519cat ~/.ssh/id_ed25519.pub출력된 키를 복사하여 GitHub → Settings → SSH and GPG keys에 추가합니다.
6. Node.js 환경 구축
NVM 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash터미널을 재시작하거나 source ~/.zshrc를 실행합니다.
Node.js 설치
nvm install --lts
nvm use --lts
nvm alias default node패키지 매니저 설치
npm install -g pnpm7. 코드 에디터 설치
Visual Studio Code
- Visual Studio Code 다운로드 및 설치
- WSL 확장 설치: VSCode에서
Remote - WSL확장을 설치합니다.
WSL 내에서 code . 명령어를 실행하면 해당 디렉토리를 VSCode로 열 수 있습니다.
추천 확장 프로그램
- Korean Language Pack
- Auto Rename Tag
- Prettier
- ESLint
- Material Icon Theme
- GitLens
Cursor AI
- Cursor 다운로드 및 설치
- VSCode 설정/확장 import
에디터 폰트 설정 (맥과 동일하게)
맥에서 사용하던 폰트 설정을 그대로 가져옵니다.
먼저 폰트를 설치합니다:
winget install JetBrains.JetBrainsMonoMesloLGS NF 폰트도 다운받아 설치합니다.
VSCode/Cursor 설정 (Ctrl + , → 우측 상단 JSON 아이콘):
{
"editor.fontFamily": "JetBrains Mono",
"editor.fontSize": 16,
"editor.fontLigatures": true,
"editor.fontWeight": "normal",
"terminal.integrated.fontFamily": "MesloLGS NF",
"terminal.integrated.fontSize": 14,
"workbench.colorTheme": "Monokai Winter Night",
"workbench.iconTheme": "material-icon-theme"
}JetBrains Mono는 프로그래밍용으로 설계된 폰트로, 코드 가독성이 좋고 ligatures(합자) 기능을 지원합니다.
!=, =>, === 같은 기호가 하나로 연결되어 보입니다.
8. Claude Code 설치
터미널에서 Claude AI를 사용할 수 있는 CLI 도구입니다.설치
npm install -g @anthropic-ai/claude-code초기 설정
claude처음 실행하면 Anthropic API 키를 입력하거나 브라우저 인증을 진행합니다.
유용한 명령어
# 현재 디렉토리에서 실행
claude
# 특정 질문으로 시작
claude "이 프로젝트 구조 설명해줘"
# 대화 이어가기
claude --continue9. 맥 키보드 단축키 매핑 (AutoHotkey)
맥에서 사용하던 키보드 단축키를 윈도우에서도 키 위치 기준으로 동일하게 사용할 수 있도록 설정합니다.
| 맥 | 윈도우 | 키보드 위치 |
|---|---|---|
| Cmd | Ctrl | 스페이스바 바로 옆 |
| Option | Alt | Cmd/Ctrl 바깥쪽 |
AutoHotkey v2 설치
AutoHotkey에서 v2 버전을 다운로드하여 설치합니다.
스크립트 생성
문서 폴더에 mac-keys.ahk 파일을 생성합니다.
#Requires AutoHotkey v2.0
; ========================================
; 맥 스타일 키보드 단축키 (윈도우용)
; 키 위치 기준 매핑:
; Mac Cmd = Win Ctrl (스페이스바 옆)
; Mac Option = Win Alt
; ========================================
; --- 줄 이동 (Ctrl + 방향키) = 맥의 Cmd + 방향키 ---
^Left::Send "{Home}"
^Right::Send "{End}"
; --- 줄 선택 (Ctrl + Shift + 좌우) = 맥의 Cmd + Shift + 방향키 ---
^+Left::Send "+{Home}"
^+Right::Send "+{End}"
; --- 단어 이동 (Alt + 방향키) = 맥의 Option + 방향키 ---
!Left::Send "^{Left}"
!Right::Send "^{Right}"
; --- 단어 선택 (Alt + Shift + 좌우) = 맥의 Option + Shift + 방향키 ---
!+Left::Send "^+{Left}"
!+Right::Send "^+{Right}"
; --- 텍스트 삭제 ---
; Ctrl + Backspace: 줄 처음까지 삭제 (맥의 Cmd + Backspace)
^BS::Send "+{Home}{Del}"
; Alt + Backspace: 단어 삭제 (맥의 Option + Backspace)
!BS::Send "^{BS}"
; --- 파일 탐색기 파일 삭제 ---
#HotIf WinActive("ahk_class CabinetWClass") or WinActive("ahk_class ExploreWClass")
; Ctrl + Backspace: 휴지통으로 삭제 (맥의 Cmd + Backspace)
^BS::Send "{Delete}"
; Ctrl + Alt + Backspace: 영구 삭제 (맥의 Cmd + Option + Backspace)
^!BS::Send "+{Delete}"
#HotIf시작 프로그램에 등록
Win + R을 눌러shell:startup입력- 열린 폴더에
mac-keys.ahk파일의 바로가기를 추가
텍스트 편집 시 (맥과 동일한 키 위치):
- Ctrl + ←/→: 줄 처음/끝 이동 (맥의 Cmd + 방향키)
- Ctrl + Shift + ←/→: 줄 처음/끝까지 선택
- Alt + ←/→: 단어 단위 이동 (맥의 Option + 방향키)
- Alt + Shift + ←/→: 단어 단위 선택
- Ctrl + Backspace: 줄 처음까지 삭제 (맥의 Cmd + Backspace)
- Alt + Backspace: 단어 삭제 (맥의 Option + Backspace)
파일 탐색기에서:
- Ctrl + Backspace: 휴지통으로 삭제 (맥의 Cmd + Backspace)
- Ctrl + Alt + Backspace: 영구 삭제 (맥의 Cmd + Option + Backspace)
10. 창 관리 (Rectangle처럼 사용하기)
맥에서 Rectangle을 사용해서 창을 관리했다면, 윈도우에서는 PowerToys FancyZones로 비슷하게 구현할 수 있습니다.
PowerToys 설치
winget install Microsoft.PowerToysFancyZones 설정
- PowerToys 실행 → FancyZones
- Enable FancyZones 켜기
커스텀 레이아웃 설정 (1/4, 3/4 포함)
FancyZones 레이아웃은 JSON 파일로 저장됩니다. 아래 설정 파일을 직접 적용하면 됩니다.
파일 위치: %LocalAppData%\Microsoft\PowerToys\FancyZones\custom-layouts.json
{
"custom-layouts": [
{
"uuid": "{11111111-1111-1111-1111-111111111111}",
"name": "1/4 + 3/4",
"type": "canvas",
"info": {
"ref-width": 1920,
"ref-height": 1080,
"zones": [
{ "X": 0, "Y": 0, "width": 480, "height": 1080 },
{ "X": 480, "Y": 0, "width": 1440, "height": 1080 }
]
}
},
{
"uuid": "{22222222-2222-2222-2222-222222222222}",
"name": "3/4 + 1/4",
"type": "canvas",
"info": {
"ref-width": 1920,
"ref-height": 1080,
"zones": [
{ "X": 0, "Y": 0, "width": 1440, "height": 1080 },
{ "X": 1440, "Y": 0, "width": 480, "height": 1080 }
]
}
},
{
"uuid": "{33333333-3333-3333-3333-333333333333}",
"name": "1/2 + 1/2",
"type": "canvas",
"info": {
"ref-width": 1920,
"ref-height": 1080,
"zones": [
{ "X": 0, "Y": 0, "width": 960, "height": 1080 },
{ "X": 960, "Y": 0, "width": 960, "height": 1080 }
]
}
},
{
"uuid": "{44444444-4444-4444-4444-444444444444}",
"name": "1/4 + 1/2 + 1/4",
"type": "canvas",
"info": {
"ref-width": 1920,
"ref-height": 1080,
"zones": [
{ "X": 0, "Y": 0, "width": 480, "height": 1080 },
{ "X": 480, "Y": 0, "width": 960, "height": 1080 },
{ "X": 1440, "Y": 0, "width": 480, "height": 1080 }
]
}
}
]
}PowerToys를 종료한 상태에서 파일을 수정하고 다시 실행하면 적용됩니다.
해상도가 다르면 비율에 맞게 자동 조절됩니다.
Rectangle 스타일 단축키 매핑
AutoHotkey 스크립트에 창 관리 단축키를 추가합니다.
; ========================================
; 창 관리 (Rectangle 스타일)
; Ctrl + Alt = 맥의 Ctrl + Option
; ========================================
; --- 좌우 절반 ---
; Ctrl + Alt + Left: 왼쪽 절반
^!Left::Send "#{Left}"
; Ctrl + Alt + Right: 오른쪽 절반
^!Right::Send "#{Right}"
; --- 상하 절반 ---
; Ctrl + Alt + Up: 상단 절반
^!Up::{
WinGetPos(&x, &y, &w, &h, "A")
WinMove(0, 0, A_ScreenWidth, A_ScreenHeight // 2, "A")
}
; Ctrl + Alt + Down: 하단 절반
^!Down::{
WinMove(0, A_ScreenHeight // 2, A_ScreenWidth, A_ScreenHeight // 2, "A")
}
; --- 전체화면 ---
; Ctrl + Alt + Enter: 최대화
^!Enter::Send "#{Up}"
; --- 1/4, 3/4 ---
; Ctrl + Alt + Z: 왼쪽 1/4
^!z::{
WinMove(0, 0, A_ScreenWidth // 4, A_ScreenHeight, "A")
}
; Ctrl + Alt + X: 왼쪽 3/4
^!x::{
WinMove(0, 0, A_ScreenWidth * 3 // 4, A_ScreenHeight, "A")
}FancyZones 활용 팁
Shift 키를 누른 채로 창을 드래그하면 FancyZones 레이아웃이 표시됩니다.
원하는 존에 놓으면 창이 해당 크기로 조절됩니다.
| 맥 (Rectangle) | 윈도우 (설정 후) |
|---|---|
| Ctrl + Option + ← | Ctrl + Alt + ← (왼쪽 절반) |
| Ctrl + Option + → | Ctrl + Alt + → (오른쪽 절반) |
| Ctrl + Option + ↑ | Ctrl + Alt + ↑ (상단 절반) |
| Ctrl + Option + ↓ | Ctrl + Alt + ↓ (하단 절반) |
| Ctrl + Option + Enter | Ctrl + Alt + Enter (최대화) |
| Ctrl + Option + Z | Ctrl + Alt + Z (왼쪽 1/4) |
| Ctrl + Option + X | Ctrl + Alt + X (왼쪽 3/4) |
11. 윈도우 시스템 폰트 변경 (선택)
윈도우 기본 폰트가 맥에 비해 투박하게 느껴진다면, 시스템 폰트를 변경할 수 있습니다.
방법 1: MacType (폰트 렌더링 개선)
윈도우의 폰트 렌더링을 맥처럼 부드럽게 바꿔줍니다.
- MacType에서 다운로드
- 설치 후 Registry 모드로 설정 (가장 호환성 좋음)
- 프로필은 Default 또는 LCD 선택
방법 2: 시스템 폰트 변경 (noMeiryoUI)
윈도우 시스템 UI 폰트 자체를 변경합니다.
- noMeiryoUI 다운로드
- 원하는 폰트 선택 (예: Pretendard, Apple SD Gothic Neo)
- 모든 항목에 적용
Apple SD Gothic Neo 폰트는 macOS에서 추출해야 합니다. 저작권 이슈가 있을 수 있으니 개인 사용 목적으로만 권장합니다.
대안으로 Pretendard 폰트를 추천합니다. 애플 폰트와 비슷한 느낌이면서 무료입니다.
Pretendard 폰트 설치
# 수동 설치: https://github.com/orioncactus/pretendard/releases
# ttf 파일 다운로드 후 우클릭 → 설치13. 추가 유틸리티
필수 프로그램
- Chrome: 주 개발 브라우저
- Postman 또는 Insomnia: API 테스트
- Figma: 디자인 협업
생산성 도구
- PowerToys: 윈도우 생산성 확장 (FancyZones, PowerRename 등)
- Everything: 빠른 파일 검색
- 7-Zip: 압축 파일 관리
winget으로 일괄 설치
winget install Google.Chrome
winget install Microsoft.PowerToys
winget install voidtools.Everything
winget install 7zip.7zip
winget install Postman.Postman마무리
윈도우에서 맥처럼 개발하기 위한 핵심은 WSL + 터미널 환경 + 키보드 매핑 + 창 관리 + 폰트입니다.
| 맥 | 윈도우 (설정 후) |
|---|---|
| iTerm2 + Oh My Zsh | Windows Terminal + WSL + Oh My Zsh |
| Cmd + 방향키 (줄 이동) | Ctrl + 방향키 |
| Option + 방향키 (단어 이동) | Alt + 방향키 |
| Cmd + Backspace (삭제) | Ctrl + Backspace |
| Option + Shift + ↑/↓ (줄 복사) | Alt + Shift + ↑/↓ |
| Rectangle | PowerToys FancyZones |
| Homebrew | apt (WSL 내) |
| SF Mono / Apple SD Gothic | JetBrains Mono / Pretendard |
에디터 폰트 설정 요약
| 항목 | 폰트 | 크기 |
|---|---|---|
| 에디터 | JetBrains Mono | 16px |
| 터미널 | MesloLGS NF | 14px |
제가 다음에 윈도우 PC에서 개발을 시작할 때 이 글만 보고 바로 환경 설정할 수 있도록 작성했습니다.