How-to

Cómo dictar código en Mac: una guía completa para Cursor, VS Code y Claude Code

Identificadores bien escritos. Mensajes de commit ya en formato convencional. Descripciones de PR con la voz que tú teclearías. Seis ejemplos resueltos y el setup de teclado que usamos a diario.

TL;DR

Esta es la guía práctica para dictar código en Mac con Loqua — dictado por voz para programadores que escriben código en Cursor, VS Code y Claude Code. Tres cosas tienen que alinearse: los identificadores técnicos se reconocen, la salida está formateada para el destino, y la latencia se mantiene lo bastante baja para no romper el flujo. Loqua está diseñado para ese flujo de trabajo en Mac: comentarios de código, commits, descripciones de PR, comandos de terminal, prompts de Cursor e instrucciones de Claude Code. Esta guía recorre el setup y ejemplos resueltos sin pretender que la voz es la mejor forma de escribir cada línea de código.

Loqua es una herramienta de dictado por voz consciente del contexto para Mac, que detecta si estás en un IDE, una terminal, una descripción de PR o un panel de chat, y ajusta la salida en consecuencia. Corre en Apple Silicon vía el Neural Engine, formatea por app y reconoce vocabulario técnico sin necesidad de cargar un diccionario primero.

La versión honesta: dictar código es una habilidad distinta a dictar prosa. Serás más lento la primera hora. Para la segunda hora escribirás comentarios más largos y mejores mensajes de commit porque la forma hablada no tiene el peaje de las pulsaciones. Llevamos meses usando esto a diario — aquí va el setup.

Setup en 90 segundos

Cinco pasos, ninguno sorprendente si has instalado una app de Mac antes:

  1. Descarga Loqua desde la página principal y arrástralo a /Applications.
  2. En la primera ejecución, concede permiso de micrófono y permiso de Accesibilidad. (La Accesibilidad es lo que permite a Loqua ver tu app activa y el texto seleccionado — mira la guía de Privacidad y Seguridad de Apple para qué significa Accesibilidad aquí.)
  3. Abre Configuración de Loqua y confirma tu atajo push-to-talk. El predeterminado es Fn + Espacio. Nosotros usamos Caps Lock remapeado vía Karabiner-Elements porque queda al alcance sin salir de la fila base.
  4. Abre cualquier editor de texto — TextEdit, VS Code, Cursor, Notas — y pon el cursor en un campo de texto.
  5. Mantén pulsado el atajo. Habla. Suelta. El texto aparece en el cursor.

Eso es todo. Sin configuración por app. Loqua es de sistema en Mac.

Tu primer dictado de código

Abre VS Code o Cursor y pon el cursor dentro de un archivo Python, en el cuerpo de una función. Di, con naturalidad:

Tú dices
"add a comment saying this caches the response for fifteen minutes and on auth failure just redirect to login don't retry"
Loqua escribe (en VS Code, archivo Python)
# Cache response for 15 min.
# On auth failure (401): redirect to /login — do not retry.

Fíjate en tres cosas que pasaron: reconoció que estabas en código (salida como comentario, no como prosa); formateó los valores explícitos ("fifteen minutes" → "15 min"; infirió el código de estado 401 estándar); y compactó la segunda cláusula en una directiva estructurada. Nada de esto requirió configuración — el motor de contexto multimodal leyó la extensión del archivo y el código adyacente para decidir.

Patrones de voz que funcionan en código

No tienes que aprender sintaxis nueva. Sí necesitas aprender qué framings producen la salida más limpia. Los patrones de abajo son a los que llegamos tras meses de uso diario.

  • Nombre + pista de formato: di "function name fetch user profile" para obtener fetchUserProfile; "function name underscore fetch user profile" para obtener fetch_user_profile. La convención del lenguaje del archivo activo es la predeterminada.
  • Especificación de tipo por descripción: di "async function that takes a user id and returns a promise of user" para obtener la firma completa; Loqua infiere los tipos del contexto.
  • Intención de comentario primero: di "add a comment saying X" para obtener un comentario en la sintaxis del archivo; simplemente decir X también tiende a producir un comentario dentro de un archivo de código, pero el framing explícito evita ambigüedad.
  • Mensaje de commit: di qué cambió: en un contexto de commit (panel de Source Control, terminal con git commit), Loqua produce mensajes en formato convencional sin necesitar el prefijo.
  • Descripción de PR: empieza por el porqué: Loqua lee la plantilla de PR si la hay y se adapta a ella.
  • Pausa para un cambio estructural: una pausa de medio segundo se lee como un salto de párrafo en prosa y como un salto lógico de paso en bloques de código.

Seis ejemplos resueltos

Cada ejemplo de abajo es real — lo que de verdad dijimos y lo que Loqua escribió. La voz es tuya; la salida es de Loqua:

Tú dices (en Cursor, petición de refactor)
"move the rate limiter into its own middleware file and update the imports"
Loqua escribe (como prompt de Cursor)
Refactor: extract the rate-limiter logic into a new middleware/rateLimit.ts module. Update imports across handlers. Preserve current behavior; no API changes.
Tú dices (tras stagear cambios)
"this fixes the race condition in session cleanup when two logout requests hit at the same time added a mutex on the session store also added a regression test"
Loqua escribe (como mensaje de commit de git)
fix(auth): handle concurrent session cleanup race condition

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
Tú dices (en la caja de descripción de PR)
"this PR adds support for partial responses on the search endpoint clients can request specific fields and get back a smaller payload covered by tests and the changelog is updated"
Loqua escribe (en PR de GitHub)
## Summary
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
Tú dices (en la Terminal)
"use ripgrep to find all usages of the old auth client in the api folder excluding tests"
Loqua escribe (en Terminal)
rg "OldAuthClient" api/ --glob '!**/*_test.go'
Tú dices (escribiendo una consulta SQL en DBeaver)
"select user id email and last login from users where last login is more than 90 days ago and account status equals active"
Loqua escribe (en DBeaver)
SELECT user_id, email, last_login
FROM users
WHERE last_login < NOW() - INTERVAL '90 days'
  AND account_status = 'active';
Tú dices (escribiendo una regex)
"regex for matching email addresses but allowing plus signs in the local part"
Loqua escribe (en VS Code, archivo JavaScript)
const emailWithPlus = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

Cómo el contexto del IDE moldea la salida

Loqua no solo sabe que estás en VS Code o Cursor. Sabe el tipo de archivo, la selección activa, el código de alrededor y (si lo permites) el panel de chat abierto. La misma frase hablada produce una salida distinta según estas pistas:

ContextoForma de salida
Dentro del cuerpo de una función, archivo PythonCódigo o comentario en línea, según el lenguaje del archivo
En un docstring o comentario de cabecera del archivoProsa, formateada como docstring
En el campo de mensaje de commit del control de versionesFormato de commit convencional
En una descripción de PR en GitHubPlantilla de PR estructurada (Summary / Changes / Test plan)
En el panel de chat de CursorInstrucción con forma de prompt y con contexto
En la interfaz de terminal de Claude CodeInstrucción directa, a menudo con rutas de archivo si el contexto es claro

No tienes que contarle nada de esto a Loqua. Lee la app activa y el texto que rodea al cursor, y decide. Si saca la forma equivocada, repite la frase con el framing explícito (p. ej., "add a comment saying..." o "the commit message is...") y se ajusta.

Para la mecánica más profunda de contexto de pantalla detrás de la preservación de identificadores, mira construyendo un oyente que ve.

Identificadores multilingües y code-switching

Una situación real que nos pasó: un feature flag con nombre en mandarín en una codebase, dictado a mitad de frase en un mensaje de commit en inglés. Loqua maneja esto sin cambiar de modo — mira nuestra guía de voz + programación con IA para más sobre patrones EN+中. La versión corta:

Tú dices
"add a fallback when 用户画像 service is down so the page still renders with the default state"
Loqua escribe (en VS Code, comentario de código)
// Fallback: if the 用户画像 service is down, render the page with the default state.

Resolución de problemas

  • El identificador sale mal: repite la frase con el identificador en inglés normal (p. ej., "fetch user profile" en vez de pronunciar cada letra). El NER de Loqua está entrenado para enunciados naturales, no para deletreo.
  • La salida es prosa cuando querías código: di "add a comment saying..." o "as code:..." como framing explícito. La posición del cursor suele desambiguar, pero un framing ayuda.
  • Convención de lenguaje equivocada (camelCase vs snake_case): Loqua sigue la convención por defecto del lenguaje del archivo. Para sobrescribirla, di "camel case" o "snake case" en línea.
  • La voz no se registra: revisa el icono de la barra de menú — gris significa que falta el permiso de micrófono; rojo significa que está escuchando; verde es inactivo. El permiso de micrófono vive en Ajustes del Sistema → Privacidad y Seguridad → Micrófono.
  • Conflicto de atajo: si Fn + Espacio choca con Spotlight o con otra app, cambia el atajo en Configuración → Atajo. Muchos de nosotros usamos Caps Lock remapeado vía Karabiner — Caps Lock es, si no, espacio desperdiciado.

Lo que realmente usamos a diario

Esta es la parte que importa más que las listas de características. Así es nuestro flujo de trabajo diario:

  • Comentarios de código — casi siempre por voz. La forma hablada es más larga, más explicativa, y el equipo los lee más.
  • Mensajes de commit — por voz con un pase rápido de edición. El cuerpo es más completo porque el peaje de tecleo desaparece.
  • Descripciones de PR — por voz, a menudo dictando mientras todavía miramos el diff. La estructura sale correcta porque Loqua ve la plantilla de GitHub.
  • Prompts de Cursor / Claude Code — por voz para todo excepto prompts muy cortos tipo "fix this". Las descripciones largas de refactor son donde la voz se paga sola.
  • Hilos de ingeniería en Slack / Discord — por voz. Más rápido, más reflexivo.
  • Identificadores y cuerpos de código — mixto. Código trivial (CRUD, glue) es voice-friendly; código algorítmico complejo suele ser más rápido teclear porque la estructura es el trabajo.

La cuenta es: unas 4× de ganancia de velocidad escribiendo prosa-en-código (comentarios, docs, mensajes, prompts) y aproximadamente paridad con tecleo escribiendo código puro. El agregado en una jornada laboral es significativo — y la carga cognitiva baja porque dejas de cambiar de contexto entre modo-pensar y modo-teclear.

Si quieres la arquitectura más profunda de cómo funciona esto, mira nuestra nota sobre el stack de dictado por voz de tres modelos. Si quieres extender el patrón a herramientas de programación con IA específicamente, mira dictado por voz para programación con IA.

Una nota más para programadores que están evaluando este flujo de trabajo: si estás buscando en la web cómo dictar código en Mac, la mayoría de resultados se queda en "usa el dictado integrado de Apple". Eso es un punto de partida válido, pero es solo audio — no conoce tu IDE, tus identificadores ni tus convenciones estructurales. La propuesta de Loqua es la siguiente capa: dictado por voz para programadores que quieren una salida que ya coincida con el destino.

Preguntas frecuentes

¿Loqua funciona específicamente en Cursor?
Sí. Loqua trata a Cursor como un IDE de primera clase — detecta el panel de chat, el contexto del archivo y el estado de la selección, y ajusta la salida en consecuencia. Los prompts van al panel de chat; el código va al editor; los comentarios se quedan dentro del lenguaje del archivo activo.
¿Puedo usar Loqua con Claude Code?
Sí. Claude Code se detecta como una herramienta de desarrollo basada en terminal; Loqua produce instrucciones directas y rutas de archivo en una forma que Claude Code entiende. Para narraciones largas de refactor o redacción de specs, la voz es especialmente eficiente.
¿Y si mis nombres de variables mezclan chino e inglés?
Loqua maneja el code-switching a mitad de frase sin cambiar de modo. Decir "add a check for the 用户画像 service" produce un comentario o identificador con el término chino en línea, preservando los caracteres originales.
¿Cómo dicto símbolos como llaves, paréntesis, iguales?
Normalmente no hace falta. Loqua infiere la estructura del contexto — decir "function name fetch user with id and return a user" produce la firma completa con paréntesis, tipos y llaves. Para entrada explícita de símbolos (poco frecuente), di "open paren" / "close paren" / "equals sign", etc.
¿Cómo maneja Loqua sesiones de voz largas?
No hay un límite por frase. Mantén pulsado el atajo, habla todo lo que quieras y suelta. La salida en streaming aparece mientras hablas — el TTFT está por debajo de 200 ms, así que las primeras palabras aparecen cuando todavía estás a mitad de la frase.
¿Hay curva de aprendizaje?
Como una hora para trabajo en IDE. El mayor cambio mental es aprender qué framings producen la salida más limpia (mira la sección de patrones arriba). Después de eso, es más rápido que teclear para escribir prosa-en-código, y la conciencia de contexto del IDE toma la mayoría de las decisiones de formato por ti.

Prueba Loqua hoy

Gratis para empezar. Nativo para Mac. Construido por investigadores en algoritmos que lo usan todos los días.

Descargar para Mac

Más del Loqua Blog

how-to
Dictado por voz para programación con IA: pidiendo a Cursor y Claude Code por voz sin teclear
productivity
Stack de productividad por voz: 9 herramientas que de verdad usamos para escribir, enviar y pensar
how-to
Notas de reuniones por voz en Mac: de la voz a hecho, con notas y tareas
engineering
Dictado por voz omni-modal: comprensión multimodal, MoE y salida de texto en streaming