|
| 1 | +# Quick Command Buttons |
| 2 | + |
| 3 | +<p align="center"> |
| 4 | + <strong>타이핑은 그만. 클릭으로 실행.</strong> |
| 5 | +</p> |
| 6 | + |
| 7 | +<p align="center"> |
| 8 | + <img src="https://img.shields.io/badge/VS%20Code-Extension-blue?style=for-the-badge&logo=visual-studio-code" alt="VS Code Extension"> |
| 9 | + <img src="https://img.shields.io/badge/TypeScript-Powered-blue?style=for-the-badge&logo=typescript" alt="TypeScript"> |
| 10 | + <img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="MIT License"> |
| 11 | +</p> |
| 12 | + |
| 13 | +<div align="center"> |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | +_`npm test`, `git push`, `docker up` — 자주 쓰는 명령어를 버튼으로 만드세요._ |
| 18 | + |
| 19 | +[지금 설치](#-설치) · [빠른 시작 (30초)](#-빠른-시작) · [English](./README.md) |
| 20 | + |
| 21 | +</div> |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +## 🚀 빠른 시작 |
| 26 | + |
| 27 | +**30초면 첫 버튼을 만들 수 있습니다.** |
| 28 | + |
| 29 | +### 1. 설치 (5초) |
| 30 | + |
| 31 | +VS Code 확장 마켓에서 "Quick Command Buttons" 검색 → 설치 |
| 32 | + |
| 33 | +### 2. 기본 버튼 사용 (5초) |
| 34 | + |
| 35 | +상태바(하단)를 보세요. 버튼 3개가 준비되어 있습니다: |
| 36 | + |
| 37 | +- `Test` → `npm test` 실행 |
| 38 | +- `Terminal` → 새 터미널 열기 |
| 39 | +- `Git` → Git 명령어 그룹 |
| 40 | + |
| 41 | +**클릭해보세요. 바로 작동합니다.** |
| 42 | + |
| 43 | +### 3. 내 버튼 만들기 (20초) |
| 44 | + |
| 45 | +1. 사이드바에서 ⚙️ 톱니바퀴 아이콘 클릭 |
| 46 | +2. "+ Add" 버튼 클릭 |
| 47 | +3. 이름: `Build`, 명령어: `npm run build` |
| 48 | +4. 저장 → 상태바에 새 버튼 생성! |
| 49 | + |
| 50 | +**끝! 이것만 알면 됩니다.** |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## 🎯 핵심 기능 |
| 55 | + |
| 56 | +### 1️⃣ 버튼으로 1클릭 실행 |
| 57 | + |
| 58 | +명령어를 버튼으로 등록하고, 클릭 한 번으로 실행하세요. |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | +- ✅ 반복 타이핑 제거 |
| 63 | +- ✅ 오타 걱정 없음 |
| 64 | +- ✅ 복잡한 명령어도 버튼 하나 |
| 65 | + |
| 66 | +<table><tr><td> |
| 67 | +<strong>💡 Pro Tip</strong><br><br> |
| 68 | +버튼이 너무 많아졌나요?<br> |
| 69 | +→ <a href="#-버튼-정리하기">📦 그룹으로 정리</a>하세요<br><br> |
| 70 | +프로젝트마다 다른 버튼이 필요하다면?<br> |
| 71 | +→ <a href="#-버튼-세트">🚀 Button Sets</a>를 사용해보세요 |
| 72 | +</td></tr></table> |
| 73 | + |
| 74 | +### 2️⃣ Visual UI로 쉽게 등록 |
| 75 | + |
| 76 | +JSON 편집 없이 드래그 앤 드롭으로 버튼을 관리하세요. |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | +- ✅ 버튼 추가/삭제 |
| 81 | +- ✅ 드래그로 순서 변경 |
| 82 | +- ✅ 컬러 피커로 색상 선택 |
| 83 | +- ✅ 다크모드 지원 (VS Code 테마 연동) |
| 84 | +- ✅ 다국어 UI (한국어 / English) |
| 85 | + |
| 86 | +<table><tr><td> |
| 87 | +<strong>💡 Pro Tip</strong><br><br> |
| 88 | +Git에 안 올라가는 개인 버튼을 원한다면?<br> |
| 89 | +→ <a href="#-local-scope--나만의-버튼">🔒 Local Scope</a> 활용하세요<br><br> |
| 90 | +한글 키보드에서도 단축키를 쓰고 싶다면?<br> |
| 91 | +→ <a href="#-다국어-키보드">🌐 15개 언어 지원</a>됩니다 |
| 92 | +</td></tr></table> |
| 93 | + |
| 94 | +### 3️⃣ 어디서든 접근 |
| 95 | + |
| 96 | +세 가지 방법으로 명령어에 접근하세요. 취향대로 선택하세요. |
| 97 | + |
| 98 | + |
| 99 | + |
| 100 | +| 방법 | 위치 | 용도 | |
| 101 | +| ------------------- | -------------- | ------------------------ | |
| 102 | +| **상태바** | 에디터 하단 | 자주 쓰는 버튼 빠른 접근 | |
| 103 | +| **Tree View** | 좌측 사이드바 | 전체 구조 파악 & 관리 | |
| 104 | +| **Command Palette** | `Ctrl+Shift+;` | 키보드 중심 워크플로우 | |
| 105 | + |
| 106 | +- ✅ 어디서든 클릭으로 실행 |
| 107 | +- ✅ Tree View에서 전체 계층 확인 |
| 108 | +- ✅ 세 곳 모두 실시간 동기화 |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +## 📦 버튼 정리하기 |
| 113 | + |
| 114 | +<details> |
| 115 | +<summary><strong>📁 그룹화 & 키보드 단축키</strong> — 클릭해서 펼치기</summary> |
| 116 | + |
| 117 | +### 관련 명령어 그룹화 |
| 118 | + |
| 119 | +상태바를 깔끔하게 유지하세요. 관련 명령어를 그룹으로 묶으세요. |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | +```json |
| 124 | +{ |
| 125 | + "name": "Git", |
| 126 | + "group": [ |
| 127 | + { "name": "Pull", "command": "git pull", "shortcut": "l" }, |
| 128 | + { "name": "Push", "command": "git push", "shortcut": "p" }, |
| 129 | + { "name": "Status", "command": "git status", "shortcut": "s" } |
| 130 | + ] |
| 131 | +} |
| 132 | +``` |
| 133 | + |
| 134 | +**무한 중첩 지원**: 그룹 안에 그룹도 가능합니다. |
| 135 | + |
| 136 | +### 키보드 단축키 |
| 137 | + |
| 138 | +마우스 없이 빠르게 접근하세요. |
| 139 | + |
| 140 | +1. `g` 입력 → Git 그룹 열기 |
| 141 | +2. `p` 입력 → `git push` 실행 |
| 142 | + |
| 143 | +**번개같이 빠릅니다.** |
| 144 | + |
| 145 | +### Tree View |
| 146 | + |
| 147 | +사이드바에서 모든 명령어를 한눈에 보세요. (위 GIF 참조) |
| 148 | + |
| 149 | +</details> |
| 150 | + |
| 151 | +--- |
| 152 | + |
| 153 | +## ⚙️ 설정 범위 & 공유 |
| 154 | + |
| 155 | +<details> |
| 156 | +<summary><strong>🔧 개인 설정 vs 팀 설정</strong> — 클릭해서 펼치기</summary> |
| 157 | + |
| 158 | +### 세 가지 범위, 각각의 용도 |
| 159 | + |
| 160 | +| 범위 | 저장 위치 | Git 추적 | 용도 | |
| 161 | +| ---------------- | --------------------- | -------- | ------------------------------------ | |
| 162 | +| **🔒 Local** | Workspace State | ❌ | 개인 버튼, 실험용, DevContainer 격리 | |
| 163 | +| **👥 Workspace** | .vscode/settings.json | ✅ | 팀 표준, 프로젝트별 명령어 | |
| 164 | +| **🌐 Global** | User Settings | ❌ | 모든 프로젝트 공통 개인 명령어 | |
| 165 | + |
| 166 | +**Fallback**: Local → Workspace → Global (비어있으면 다음 레벨로) |
| 167 | + |
| 168 | +--- |
| 169 | + |
| 170 | +### 🔒 Local Scope — 나만의 버튼 |
| 171 | + |
| 172 | +내 버튼, 내 방식. Git에 안 올라갑니다. |
| 173 | + |
| 174 | +**이런 경우에 좋습니다:** |
| 175 | + |
| 176 | +- 개인 워크플로우 단축키 |
| 177 | +- 실험적인 명령어 |
| 178 | +- DevContainer별 격리된 버튼 |
| 179 | +- 공유하고 싶지 않은 버튼 |
| 180 | + |
| 181 | +--- |
| 182 | + |
| 183 | +### 👥 Workspace Scope — 팀 협업 |
| 184 | + |
| 185 | +`.vscode/settings.json`에 저장 → Git으로 추적 → 팀원들이 자동으로 받음 |
| 186 | + |
| 187 | +```json |
| 188 | +{ |
| 189 | + "quickCommandButtons.configurationTarget": "workspace", |
| 190 | + "quickCommandButtons.buttons": [ |
| 191 | + { "name": "Setup", "command": "npm install" }, |
| 192 | + { "name": "Dev", "command": "npm run dev" } |
| 193 | + ] |
| 194 | +} |
| 195 | +``` |
| 196 | + |
| 197 | +**신입 개발자 온보딩:** |
| 198 | + |
| 199 | +1. 저장소 clone |
| 200 | +2. 버튼이 자동으로 표시됨 |
| 201 | +3. 버튼 클릭으로 환경 구성 완료! |
| 202 | + |
| 203 | +--- |
| 204 | + |
| 205 | +### Import/Export |
| 206 | + |
| 207 | +설정을 JSON 파일로 백업하고 공유하세요. |
| 208 | + |
| 209 | + |
| 210 | + |
| 211 | +- **Export**: 설정을 파일로 저장 |
| 212 | +- **Import 미리보기**: 적용 전 변경사항 확인 |
| 213 | +- **충돌 감지**: 단축키 충돌 경고 |
| 214 | + |
| 215 | +</details> |
| 216 | + |
| 217 | +--- |
| 218 | + |
| 219 | +## 🚀 고급 기능 |
| 220 | + |
| 221 | +<details> |
| 222 | +<summary><strong>⚡ 파워 유저를 위한 기능</strong> — 클릭해서 펼치기</summary> |
| 223 | + |
| 224 | +> 기본 기능만으로도 충분히 유용합니다! |
| 225 | +> 이 섹션은 더 깊게 활용하고 싶은 분들을 위한 것입니다. |
| 226 | +
|
| 227 | +### 🎯 버튼 세트 |
| 228 | + |
| 229 | +프로젝트나 작업 유형에 따라 **전체 버튼 구성을 전환**하세요. |
| 230 | + |
| 231 | + |
| 232 | + |
| 233 | +**예시:** |
| 234 | + |
| 235 | +- "Frontend" 세트: npm dev, build, test |
| 236 | +- "Backend" 세트: docker, migrate, runserver |
| 237 | +- "DevOps" 세트: kubectl, helm, terraform |
| 238 | + |
| 239 | +```json |
| 240 | +{ |
| 241 | + "quickCommandButtons.buttonSets": [ |
| 242 | + { |
| 243 | + "name": "Frontend", |
| 244 | + "buttons": [{ "name": "Dev", "command": "npm run dev" }] |
| 245 | + }, |
| 246 | + { |
| 247 | + "name": "Backend", |
| 248 | + "buttons": [{ "name": "API", "command": "python manage.py runserver" }] |
| 249 | + } |
| 250 | + ] |
| 251 | +} |
| 252 | +``` |
| 253 | + |
| 254 | +**전환 방법**: Command Palette → "Switch Button Set" → 선택 |
| 255 | + |
| 256 | +--- |
| 257 | + |
| 258 | +### 🌐 다국어 키보드 |
| 259 | + |
| 260 | +한글, 일본어, 중국어 입력 상태에서도 **단축키가 그대로 작동**합니다. |
| 261 | + |
| 262 | +**매핑 예시:** |
| 263 | + |
| 264 | +- 한국어: `ㅅ` → `t`, `ㅎ` → `g` |
| 265 | +- 일본어: `あ` → `a` (로마자 변환) |
| 266 | +- 중국어: 병음 변환 |
| 267 | + |
| 268 | +**지원 언어 (15개):** |
| 269 | +한국어, 일본어, 중국어, 러시아어, 아랍어, 히브리어, 힌디어, 독일어, 스페인어, 체코어, 그리스어, 페르시아어, 벨라루스어, 우크라이나어, 카자흐어 |
| 270 | + |
| 271 | +--- |
| 272 | + |
| 273 | +### ⚡ 동시 실행 (Execute All) |
| 274 | + |
| 275 | +그룹의 모든 명령어를 **동시에 실행**하세요. |
| 276 | + |
| 277 | +```json |
| 278 | +{ |
| 279 | + "name": "Monitor", |
| 280 | + "executeAll": true, |
| 281 | + "group": [ |
| 282 | + { "name": "CPU", "command": "htop" }, |
| 283 | + { "name": "Logs", "command": "tail -f app.log" }, |
| 284 | + { "name": "Network", "command": "nethogs" } |
| 285 | + ] |
| 286 | +} |
| 287 | +``` |
| 288 | + |
| 289 | +**결과**: 터미널 3개가 동시에 열리고 각 명령어 실행 |
| 290 | + |
| 291 | +**활용 예시**: 모니터링 대시보드, 병렬 빌드, 다중 서버 실행 |
| 292 | + |
| 293 | +--- |
| 294 | + |
| 295 | +### 🔧 VS Code API 연동 |
| 296 | + |
| 297 | +터미널 명령어 대신 **VS Code 내장 명령어**도 실행 가능합니다. |
| 298 | + |
| 299 | +```json |
| 300 | +{ |
| 301 | + "name": "Format", |
| 302 | + "command": "editor.action.formatDocument", |
| 303 | + "useVsCodeApi": true |
| 304 | +} |
| 305 | +``` |
| 306 | + |
| 307 | +**활용 예시**: 에디터 포맷팅, 파일 작업, 확장 기능 명령 |
| 308 | + |
| 309 | +</details> |
| 310 | + |
| 311 | +--- |
| 312 | + |
| 313 | +## 🆚 왜 Quick Command Buttons인가? |
| 314 | + |
| 315 | +| 기능 | Quick Command Buttons | VS Code Tasks | 기타 | |
| 316 | +| ----------------- | ---------------------------- | ------------- | ---------- | |
| 317 | +| **1클릭 접근** | ✅ 상태바 + Tree + Palette | ❌ Palette만 | ⚠️ 제한적 | |
| 318 | +| **Visual 설정** | ✅ 드래그 앤 드롭 UI | ❌ JSON만 | ⚠️ 기본적 | |
| 319 | +| **무한 중첩** | ✅ 제한 없음 | ❌ 없음 | ⚠️ 1단계만 | |
| 320 | +| **Button Sets** | ✅ 컨텍스트 전환 | ❌ 없음 | ❌ 없음 | |
| 321 | +| **다국어 키보드** | ✅ 15개 언어 | ❌ 영어만 | ❌ 없음 | |
| 322 | +| **팀 공유** | ✅ Workspace + Import/Export | ⚠️ 수동 | ⚠️ 제한적 | |
| 323 | + |
| 324 | +--- |
| 325 | + |
| 326 | +## 📦 설치 |
| 327 | + |
| 328 | +1. VS Code 열기 |
| 329 | +2. 확장 탭으로 이동 (`Ctrl+Shift+X`) |
| 330 | +3. "Quick Command Buttons" 검색 |
| 331 | +4. Install 클릭 |
| 332 | +5. 기본 버튼 사용 또는 직접 만들기! |
| 333 | + |
| 334 | +--- |
| 335 | + |
| 336 | +## 🎮 명령어 |
| 337 | + |
| 338 | +| 명령어 | 단축키 | 설명 | |
| 339 | +| --------------------------------------- | -------------- | ------------------ | |
| 340 | +| `Quick Commands: Show All` | `Ctrl+Shift+;` | 통합 명령어 팔레트 | |
| 341 | +| `Quick Commands: Open Configuration UI` | - | Visual 설정 UI | |
| 342 | +| `Quick Commands: Switch Button Set` | - | 버튼 세트 전환 | |
| 343 | +| `Quick Commands: Export Configuration` | - | 설정 내보내기 | |
| 344 | +| `Quick Commands: Import Configuration` | - | 설정 가져오기 | |
| 345 | + |
| 346 | +--- |
| 347 | + |
| 348 | +## 📖 설정 옵션 |
| 349 | + |
| 350 | +| 옵션 | 타입 | 설명 | |
| 351 | +| -------------- | ------- | ------------------------------- | |
| 352 | +| `name` | string | 버튼 이름 (`$(icon)` 문법 지원) | |
| 353 | +| `command` | string | 실행할 명령어 | |
| 354 | +| `useVsCodeApi` | boolean | VS Code API 사용 (터미널 대신) | |
| 355 | +| `color` | string | 버튼 색상 (hex, rgb, CSS 이름) | |
| 356 | +| `shortcut` | string | 빠른 접근용 단일 문자 | |
| 357 | +| `terminalName` | string | 커스텀 터미널 세션 이름 | |
| 358 | +| `group` | array | 중첩 명령어 (무제한 깊이) | |
| 359 | +| `executeAll` | boolean | 그룹 명령어 동시 실행 | |
| 360 | + |
| 361 | +### 참고 자료 |
| 362 | + |
| 363 | +- [VS Code 아이콘](https://microsoft.github.io/vscode-codicons/dist/codicon.html) — `$(icon-name)` 목록 |
| 364 | +- [내장 명령어](https://code.visualstudio.com/api/references/commands) — `useVsCodeApi: true`용 |
| 365 | + |
| 366 | +--- |
| 367 | + |
| 368 | +## 🤝 기여하기 |
| 369 | + |
| 370 | +개인 프로젝트로 시작하여 환경이 맞춤화되어 있습니다. |
| 371 | +기여를 원하시면 kubrickcode@gmail.com 으로 연락주세요. |
| 372 | + |
| 373 | +--- |
| 374 | + |
| 375 | +## 📜 라이선스 |
| 376 | + |
| 377 | +MIT License - [LICENSE](LICENSE) 참조 |
| 378 | + |
| 379 | +--- |
| 380 | + |
| 381 | +<div align="center"> |
| 382 | + |
| 383 | +**⭐ 도움이 되셨다면 Star를 눌러주세요!** |
| 384 | + |
| 385 | +_Made with ❤️ by [KubrickCode](https://github.com/KubrickCode)_ |
| 386 | + |
| 387 | +**타이핑은 줄이고, 클릭으로 실행하세요!** |
| 388 | + |
| 389 | +</div> |
0 commit comments