맥에서 코드를 받아쓰기로 작성하는 법: Cursor, VS Code, Claude Code 완전 가이드
식별자는 제대로 적히고, 커밋 메시지는 이미 컨벤셔널 포맷이고, PR 설명은 내가 직접 타이핑한 듯한 톤. 실전 예시 6개와 매일 쓰는 키보드 셋업까지.
TL;DR
이 글은 Cursor, VS Code, Claude Code에서 코드를 쓰는 개발자를 위한 음성 입력 도구 Loqua로 맥에서 코드를 받아쓰는 실전 가이드예요. 세 가지가 맞아떨어져야 해요. 기술 식별자가 인식되고, 출력이 목적지에 맞게 포매팅되고, 레이턴시가 흐름을 깨지 않을 만큼 낮게 유지되는 것. Loqua는 그 맥 워크플로를 위해 설계됐어요 — 코드 주석, 커밋, PR 설명, 터미널 명령, Cursor 프롬프트, Claude Code 지시까지. 이 가이드는 음성이 모든 코드 줄을 쓰기에 가장 좋은 방법인 척하지 않고, 셋업과 실전 예시를 차근차근 보여드려요.
Loqua는 맥용 컨텍스트 인식 음성 입력 도구로, 지금 IDE에 있는지, 터미널에 있는지, PR 설명창에 있는지, 채팅 패널에 있는지 감지해서 그에 맞춰 출력을 조정해요. Apple Silicon의 뉴럴 엔진 위에서 동작하고, 앱별로 포매팅하며, 사전을 미리 로드하지 않아도 기술 어휘를 인식해요.
솔직히 말하면, 코드를 받아쓰는 건 산문을 받아쓰는 것과 다른 스킬이에요. 처음 한 시간은 느릴 거예요. 두 번째 시간이 되면 더 긴 주석과 더 좋은 커밋 메시지를 쓰게 돼요. 음성 형태에는 키 입력 비용이 없으니까요. 저희는 몇 달째 매일 이걸 쓰고 있어요 — 셋업을 살펴봐요.
90초 안에 셋업하기
다섯 단계, 맥 앱을 설치해본 적 있다면 어느 것도 놀랍지 않을 거예요.
- 홈페이지에서 Loqua를 다운로드하고
/Applications에 드래그해요. - 첫 실행 시 마이크 권한과 손쉬운 사용(Accessibility) 권한을 부여해요. (Accessibility는 Loqua가 현재 앱과 선택된 텍스트를 볼 수 있게 해주는 권한이에요 — 의미가 궁금하면 Apple의 개인 정보 보호 및 보안 가이드를 참고하세요.)
- Loqua의 설정을 열고 푸시투토크 단축키를 확인해요. 기본값은
Fn + Space예요. 저희는 홈 로우를 떠나지 않고 닿는 위치라서 Karabiner-Elements로 리매핑한Caps Lock을 써요. - 아무 텍스트 에디터를 열어요 — TextEdit, VS Code, Cursor, Notes 등 — 그리고 텍스트 필드에 커서를 둬요.
- 단축키를 눌러요. 말해요. 떼요. 커서 위치에 텍스트가 나타나요.
그게 끝이에요. 앱별 설정도 없어요. Loqua는 맥 전역에서 동작해요.
첫 코드 받아쓰기
VS Code나 Cursor를 열고 파이썬 파일의 함수 본문에 커서를 둬요. 자연스럽게 말해보세요.
# Cache response for 15 min.# On auth failure (401): redirect to /login — do not retry.세 가지가 일어났어요. 코드 안이라는 걸 인식했고(산문이 아니라 주석으로 출력), 명시적인 값들을 포매팅했고("fifteen minutes" → "15 min"; 표준 401 상태 코드를 추론), 두 번째 절을 구조적인 지시문으로 정리했어요. 어느 것도 설정이 필요 없었어요 — 멀티모달 컨텍스트 엔진이 파일 확장자와 주변 코드를 읽고 결정한 거예요.
코드에서 잘 통하는 음성 패턴
새 문법을 배울 필요는 없어요. 다만 어떤 표현 방식이 가장 깔끔한 출력을 내는지는 배워야 해요. 아래 패턴들은 저희가 몇 달 동안 매일 쓰면서 수렴해 온 것들이에요.
- 이름 + 형식 힌트: "function name
fetch user profile"이라고 하면fetchUserProfile이, "function name underscorefetch user profile"이라고 하면fetch_user_profile이 나와요. 현재 파일 언어의 컨벤션이 기본값이에요. - 설명으로 타입 명시: "async function that takes a user id and returns a promise of user"라고 하면 완전한 시그니처가 나와요. Loqua가 컨텍스트에서 타입을 추론해요.
- 주석 의도 먼저: "add a comment saying X"라고 하면 파일 문법에 맞는 주석이 나와요. 코드 파일 안에서 그냥 X만 말해도 주석으로 나오는 경우가 많지만, 명시적인 프레이밍이 모호함을 없애줘요.
- 커밋 메시지: 무엇이 바뀌었는지 말하기: 커밋 컨텍스트(소스 컨트롤 패널, 터미널 git commit)에서 Loqua는 프리픽스를 따로 말하지 않아도 컨벤셔널 포맷의 메시지를 만들어줘요.
- PR 설명: 이유부터 시작하기: Loqua는 PR 템플릿이 있으면 읽고 그 형식에 맞춰 만들어줘요.
- 구조 전환은 멈춤으로: 0.5초 정도의 멈춤은 산문에서는 문단 끊기로, 코드 블록에서는 논리 단계 끊기로 해석돼요.
실전 예시 6개
아래 각 예시는 실제예요 — 저희가 실제로 말한 것과 Loqua가 적은 것. 음성은 여러분 것, 출력은 Loqua의 것:
middleware/rateLimit.ts module. Update imports across handlers. Preserve current behavior; no API changes.Two simultaneous /logout requests could both attempt to invalidate the same token. Added mutex lock on the session store write path. Tests: auth_test.go — TestConcurrentLogout
Adds field-selection support to the search endpoint. Clients can request a subset of fields and receive a smaller payload.
## Changes
- Search endpoint accepts a
fields query param- Response serializer respects field selection
- Tests cover selection, omission, and invalid-field handling
- CHANGELOG.md updated
## Test plan
- [ ] Unit tests pass
- [ ] Manual smoke against staging
rg "OldAuthClient" api/ --glob '!**/*_test.go'SELECT user_id, email, last_loginFROM usersWHERE last_login < NOW() - INTERVAL '90 days' AND account_status = 'active';const emailWithPlus = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;IDE 컨텍스트가 출력을 어떻게 바꾸는가
Loqua는 단순히 VS Code나 Cursor에 있다는 것만 아는 게 아니에요. 파일 타입, 활성 선택, 주변 코드, 그리고 허용했다면 열린 채팅 패널까지 알아요. 같은 음성 구절이 이 단서들에 따라 다른 출력으로 나와요.
| 컨텍스트 | 출력 형태 |
|---|---|
| 파이썬 파일의 함수 본문 안 | 파일 언어에 맞는 코드 또는 인라인 주석 |
| 독스트링이나 파일 상단 주석 안 | 독스트링 형식의 산문 |
| 소스 컨트롤 커밋 메시지 필드 | 컨벤셔널 커밋 포맷 |
| GitHub의 PR 설명창 | 구조화된 PR 템플릿 (Summary / Changes / Test plan) |
| Cursor의 채팅 패널 | 컨텍스트가 담긴 프롬프트 형태의 지시문 |
| Claude Code의 터미널 인터페이스 | 직접적인 지시, 컨텍스트가 명확하면 파일 경로 포함 |
이 중 어떤 것도 Loqua에게 말해줄 필요가 없어요. 현재 앱과 커서 주변 텍스트를 읽고 알아서 결정해요. 형태가 잘못 나오면, 명시적인 프레이밍(예: "add a comment saying..." 또는 "the commit message is...")으로 다시 말하면 조정돼요.
식별자 보존 뒤편의 화면 컨텍스트 메커니즘을 더 깊이 보고 싶다면 보이는 것을 보는 리스너 만들기를 참고하세요.
다국어 식별자와 코드 스위칭
실제로 마주친 상황 하나. 코드베이스에 중국어로 이름 붙은 피처 플래그가 있고, 그걸 영어 커밋 메시지 중간에서 받아쓰는 거예요. Loqua는 모드 전환 없이 이걸 처리해요 — EN+中 패턴에 대해서는 음성 + AI 코딩 가이드를 참고하세요. 짧은 버전:
// Fallback: if the 用户画像 service is down, render the page with the default state.트러블슈팅
- 식별자가 잘못 나올 때: 각 글자를 발음하지 말고 일반 영어로 식별자를 말하면서 다시 시도해보세요(예: "fetch user profile"). Loqua의 NER은 글자 단위 스펠링이 아니라 자연 발화로 학습됐어요.
- 코드를 원했는데 산문이 나올 때: "add a comment saying..." 또는 "as code:..." 같은 명시적인 프레이밍을 써보세요. 커서 위치가 보통 모호함을 해소하지만, 프레임이 도움이 돼요.
- 언어 컨벤션이 잘못됐을 때(camelCase vs snake_case): Loqua는 파일 언어의 기본 컨벤션을 따라요. 오버라이드하려면 인라인으로 "camel case" 또는 "snake case"라고 말하세요.
- 음성이 인식되지 않을 때: 메뉴 막대 아이콘을 확인하세요 — 회색은 마이크 권한 누락, 빨강은 듣는 중, 초록은 대기 중이에요. 마이크 권한은 시스템 설정 → 개인 정보 보호 및 보안 → 마이크에 있어요.
- 단축키 충돌:
Fn + Space가 Spotlight나 다른 앱과 충돌하면 설정 → Shortcut에서 단축키를 바꾸세요. 저희 다수는 Karabiner로 리매핑한Caps Lock을 써요 — Caps Lock은 어차피 쓸 일이 거의 없으니까요.
우리가 매일 실제로 쓰는 방식
이 부분이 기능 목록보다 더 중요해요. 저희 일상 워크플로는 이렇게 생겼어요.
- 코드 주석 — 거의 항상 음성. 음성 형태는 더 길고 더 설명적이고, 팀이 더 잘 읽어요.
- 커밋 메시지 — 음성 + 빠른 편집 한 번. 키 입력 비용이 사라져서 본문이 더 충실해져요.
- PR 설명 — 음성, 종종 diff를 보면서 받아써요. Loqua가 GitHub 템플릿을 보기 때문에 구조가 알아서 잘 나와요.
- Cursor / Claude Code 프롬프트 — 아주 짧은 "이거 고쳐" 프롬프트를 빼면 다 음성. 긴 리팩터링 설명이 음성이 진가를 발휘하는 지점이에요.
- Slack / Discord 엔지니어링 스레드 — 음성. 더 빠르고, 더 사려 깊어요.
- 식별자와 코드 본문 — 혼합. 사소한 코드(CRUD, 연결 코드)는 음성 친화적이고, 복잡한 알고리즘 코드는 보통 타이핑이 빨라요. 구조 자체가 작업이니까요.
계산해 보면, 코드 안의 산문(주석, 문서, 메시지, 프롬프트) 작성에서는 약 4배 속도 향상, 순수 코드 작성에서는 타이핑과 거의 비슷한 수준이에요. 하루를 통합해 보면 의미가 크고, 생각 모드와 타이핑 모드를 오가는 컨텍스트 스위칭이 줄어드니까 인지 부하도 낮아져요.
이게 어떻게 동작하는지 더 깊은 아키텍처가 궁금하다면 3-모델 음성 입력 스택에 대한 노트를 보세요. AI 코딩 도구에 특화된 패턴 확장은 AI 코딩을 위한 음성 입력을 참고하세요.
이 워크플로를 검토 중인 프로그래머에게 한 마디 더. 맥에서 코드를 받아쓰는 방법을 웹에서 검색해보면 대부분의 결과가 "Apple 내장 받아쓰기를 쓰세요"에서 멈춰요. 출발점으로는 괜찮지만 오디오만 다뤄요 — IDE도, 식별자도, 구조 컨벤션도 몰라요. Loqua의 제안은 그 위 레이어예요. 목적지에 이미 맞춰진 출력을 원하는 개발자를 위한 음성 입력.
자주 묻는 질문
오늘 Loqua를 사용해 보세요
무료로 시작. 맥 네이티브. 매일 직접 쓰는 알고리즘 연구자들이 만들었어요.
Download for Mac