Guia

Como ditar código no Mac: guia completo para Cursor, VS Code e Claude Code

Identificadores escritos corretamente. Mensagens de commit já no formato convencional. Descrições de PR com a voz que você digitaria. Seis exemplos práticos e a configuração de teclado que usamos todos os dias.

Resumo

Este é o guia prático para ditar código no Mac com o Loqua — digitação por voz para programadores que escrevem código no Cursor, VS Code e Claude Code. Três coisas precisam se alinhar: identificadores técnicos precisam ser reconhecidos, a saída precisa ser formatada para o destino e a latência precisa ser baixa o suficiente para não quebrar o fluxo. O Loqua foi desenhado para esse workflow no Mac: comentários de código, commits, descrições de PR, comandos de terminal, prompts do Cursor e instruções para o Claude Code. Este guia passa pela configuração e por exemplos práticos sem fingir que voz é a melhor forma de escrever toda linha de código.

O Loqua é uma ferramenta de digitação por voz sensível ao contexto para Mac que detecta se você está em uma IDE, um terminal, uma descrição de PR ou um painel de chat, e ajusta a saída de acordo. Ele roda em Apple Silicon via Neural Engine, formata por app e reconhece vocabulário técnico sem exigir que você carregue um dicionário antes.

A versão honesta: ditar código é uma habilidade diferente de ditar prosa. Você será mais lento na primeira hora. Na segunda, vai escrever comentários mais longos e mensagens de commit melhores porque a forma por voz não cobra imposto de teclas. Temos usado isso todos os dias há meses — esta é a configuração.

Configuração em 90 segundos

Cinco passos, nenhum deles surpreendente para quem já instalou um app no Mac:

  1. Baixe o Loqua pela homepage e arraste para /Applications.
  2. No primeiro uso, conceda permissão de microfone e permissão de Acessibilidade. (Acessibilidade é o que permite ao Loqua ver seu app ativo e o texto selecionado — consulte o guia de Privacidade e Segurança da Apple para entender o que Acessibilidade significa aqui.)
  3. Abra as Settings do Loqua e confirme seu atalho push-to-talk. O padrão é Fn + Space. Usamos Caps Lock remapeado via Karabiner-Elements porque fica ao alcance sem sair da home row.
  4. Abra qualquer editor de texto — TextEdit, VS Code, Cursor, Notes — e coloque o cursor em um campo de texto.
  5. Segure o atalho. Fale. Solte. O texto aparece no cursor.

É isso. Sem configuração por app. O Loqua funciona em todo o sistema no Mac.

Seu primeiro ditado de código

Abra o VS Code ou o Cursor e coloque o cursor dentro de um arquivo Python, no corpo de uma função. Diga, naturalmente:

Você diz
"adicione um comentário dizendo que isso faz cache da resposta por quinze minutos e que em falha de auth é só redirecionar para login sem tentar de novo"
O Loqua escreve (no VS Code, arquivo Python)
# Cache response for 15 min.
# On auth failure (401): redirect to /login — do not retry.

Observe três coisas que aconteceram: ele reconheceu que você estava em código (saída como comentário, não como prosa); formatou os valores explícitos ("quinze minutos" → "15 min"; inferiu o status code padrão 401); e apertou a segunda oração em uma diretiva estruturada. Nada disso exigiu configuração — o motor de contexto multimodal leu a extensão do arquivo e o código adjacente para decidir.

Padrões de voz que funcionam em código

Você não precisa aprender uma nova sintaxe. Precisa aprender quais enquadramentos produzem a saída mais limpa. Os padrões abaixo são o que consolidamos após meses de uso diário.

  • Nome + dica de formato: diga "nome da função fetch user profile" para obter fetchUserProfile; "nome da função underscore fetch user profile" para obter fetch_user_profile. A convenção da linguagem do arquivo ativo é o padrão.
  • Especificação de tipo por descrição: diga "função async que recebe um user id e retorna uma promise de user" para obter a assinatura completa; o Loqua infere tipos a partir do contexto.
  • Intenção de comentário primeiro: diga "adicione um comentário dizendo X" para obter um comentário na sintaxe do arquivo; apenas dizer X tende a produzir comentário também dentro de um arquivo de código, mas o enquadramento explícito evita ambiguidade.
  • Mensagem de commit: diga o que mudou: em um contexto de commit (painel Source Control, terminal git commit), o Loqua produz mensagens em formato convencional sem você precisar falar o prefixo.
  • Descrição de PR: comece pelo porquê: o Loqua lê o template de PR, se houver, e se adapta a ele.
  • Pause para mudança estrutural: uma pausa de meio segundo é lida como quebra de parágrafo em prosa e como quebra de etapa lógica em blocos de código.

Seis exemplos práticos

Cada exemplo abaixo é real — o que dissemos e o que o Loqua escreveu. A voz é sua; a saída é do Loqua:

Você diz (no Cursor, pedido de refatoração)
"mova o rate limiter para seu próprio arquivo de middleware e atualize os imports"
O Loqua escreve (como um prompt do Cursor)
Refactor: extract the rate-limiter logic into a new middleware/rateLimit.ts module. Update imports across handlers. Preserve current behavior; no API changes.
Você diz (depois de fazer staging das mudanças)
"isso corrige a condição de corrida na limpeza de sessão quando duas requisições de logout chegam ao mesmo tempo adicionou um mutex no session store também adicionou teste de regressão"
O Loqua escreve (como uma mensagem de git commit)
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
Você diz (na caixa de descrição do PR)
"este PR adiciona suporte a respostas parciais no endpoint de busca clientes podem solicitar campos específicos e receber um payload menor coberto por testes e o changelog foi atualizado"
O Loqua escreve (no GitHub PR)
## 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
Você diz (no Terminal)
"use ripgrep para encontrar todos os usos do auth client antigo na pasta api excluindo testes"
O Loqua escreve (no Terminal)
rg "OldAuthClient" api/ --glob '!**/*_test.go'
Você diz (escrevendo uma query SQL no DBeaver)
"selecione user id email e last login de users onde last login é mais de 90 dias atrás e account status igual a active"
O Loqua escreve (no DBeaver)
SELECT user_id, email, last_login
FROM users
WHERE last_login < NOW() - INTERVAL '90 days'
  AND account_status = 'active';
Você diz (escrevendo uma regex)
"regex para encontrar endereços de email mas permitindo sinais de mais na parte local"
O Loqua escreve (no VS Code, arquivo JavaScript)
const emailWithPlus = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

Como o contexto da IDE molda a saída

O Loqua não sabe apenas que você está no VS Code ou no Cursor. Ele sabe o tipo do arquivo, a seleção ativa, o código ao redor e, se você permitir, o painel de chat aberto. A mesma frase falada produz uma saída diferente conforme essas pistas:

ContextoFormato de saída
Dentro do corpo de uma função, arquivo PythonCódigo ou comentário inline, seguindo a linguagem do arquivo
Em uma docstring ou comentário no topo do arquivoProsa, formatada como docstring
No campo de mensagem de commit do source controlFormato de conventional commit
Em uma descrição de PR no GitHubTemplate estruturado de PR (Summary / Changes / Test plan)
No painel de chat do CursorInstrução em formato de prompt com contexto
Na interface de terminal do Claude CodeInstrução direta, muitas vezes com caminhos de arquivo se o contexto estiver claro

Você não precisa dizer nada disso ao Loqua. Ele lê o app ativo e o texto ao redor do cursor e decide. Se ele escolher o formato errado, repita a frase com um enquadramento explícito (por exemplo, "adicione um comentário dizendo..." ou "a mensagem de commit é...") e ele ajusta.

Para os mecanismos mais profundos de contexto de tela por trás da preservação de identificadores, veja construindo um ouvinte que vê o que você vê.

Identificadores multilíngues e code-switching

Uma situação real que encontramos: uma feature flag com nome em mandarim em uma base de código, ditada no meio de uma mensagem de commit em inglês. O Loqua lida com isso sem trocar de modo — veja nosso guia de voz + programação com IA para mais sobre padrões EN+中. A versão curta:

Você diz
"add a fallback when 用户画像 service is down so the page still renders with the default state"
O Loqua escreve (no VS Code, comentário de código)
// Fallback: if the 用户画像 service is down, render the page with the default state.

Solução de problemas

  • O identificador sai errado: repita a frase com o identificador em inglês natural (por exemplo, "fetch user profile" em vez de soletrar cada letra). O NER do Loqua é treinado para fala natural, não para soletração.
  • A saída vira prosa quando você queria código: diga "adicione um comentário dizendo..." ou "como código:..." como enquadramento explícito. A posição do cursor normalmente desfaz a ambiguidade, mas o enquadramento ajuda.
  • Convenção de linguagem errada (camelCase vs snake_case): o Loqua segue o padrão da linguagem do arquivo. Para sobrescrever, diga "camel case" ou "snake case" na própria frase.
  • A voz não registra: confira o ícone da barra de menus — cinza significa permissão de microfone ausente; vermelho significa que está ouvindo; verde é ocioso. A permissão de microfone fica em System Settings → Privacy & Security → Microphone.
  • Conflito de atalho: se Fn + Space conflitar com Spotlight ou outro app, altere o atalho em Settings → Shortcut. Muitos de nós usamos Caps Lock remapeado via Karabiner — Caps Lock costuma ser espaço desperdiçado.

O que realmente usamos todo dia

Esta parte importa mais do que listas de recursos. Nosso workflow diário se parece com isto:

  • Comentários de código — quase sempre por voz. A forma falada fica mais longa, mais explicativa, e o time lê mais.
  • Mensagens de commit — voz com uma revisão rápida. O corpo fica mais completo porque o imposto de teclas desaparece.
  • Descrições de PR — voz, muitas vezes ditada ainda olhando o diff. A estrutura sai certa porque o Loqua vê o template do GitHub.
  • Prompts para Cursor / Claude Code — voz para tudo, exceto prompts muito curtos do tipo "corrija isto". Descrições longas de refatoração são onde voz se paga.
  • Threads de engenharia no Slack / Discord — voz. Mais rápido, mais refletido.
  • Identificadores e corpos de código — misto. Código trivial (CRUD, glue) funciona bem por voz; código algorítmico complexo costuma ser mais rápido digitado porque a estrutura é o trabalho.

A conta é: ganho de velocidade de cerca de 4× em prosa dentro do trabalho de código (comentários, docs, mensagens, prompts) e aproximadamente paridade com digitação ao escrever código puro. No agregado de um dia de trabalho, isso pesa — e a carga cognitiva cai porque você para de alternar entre modo de pensar e modo de digitar.

Se você quer a arquitetura mais profunda de como isso funciona, veja nossa nota sobre a stack de digitação por voz em três modelos. Se quer estender o padrão especificamente para ferramentas de programação com IA, veja digitação por voz para programação com IA.

Mais uma observação para programadores avaliando este workflow: se você está pesquisando como ditar código no Mac, a maioria dos resultados para em "use o ditado nativo da Apple". É um bom ponto de partida, mas é só áudio — ele não conhece sua IDE, seus identificadores nem suas convenções estruturais. A proposta do Loqua é a próxima camada: digitação por voz para programadores que querem uma saída que já combine com o destino.

Perguntas frequentes

O Loqua funciona especificamente no Cursor?
Sim. O Loqua trata o Cursor como uma IDE de primeira classe — ele detecta o painel de chat, o contexto do arquivo e o estado da seleção, e molda a saída de acordo. Prompts vão para o painel de chat; código vai para o editor; comentários ficam na linguagem do arquivo ativo.
Posso usar o Loqua com Claude Code?
Sim. O Claude Code é detectado como uma ferramenta de desenvolvimento baseada em terminal; o Loqua produz instruções diretas e caminhos de arquivo em um formato que o Claude Code entende. Para narrações longas de refatoração ou rascunhos de especificação, voz é especialmente eficiente.
E se meus nomes de variáveis misturam chinês e inglês?
O Loqua lida com code-switching no meio da frase sem alternar modo. Dizer "add a check for the 用户画像 service" produz um comentário ou identificador com o termo em chinês inline, preservando os caracteres originais.
Como dito símbolos como chaves, parênteses e igual?
Geralmente você não precisa. O Loqua infere a estrutura pelo contexto — dizer "function name fetch user with id and return a user" produz a assinatura completa com parênteses, tipos e chaves. Para entrada explícita de símbolos (rara), diga "open paren" / "close paren" / "equals sign" etc.
Como o Loqua lida com sessões longas de voz?
Não há limite por fala. Segure o atalho, fale pelo tempo que quiser, solte. A saída em streaming aparece enquanto você fala — o TTFT fica abaixo de 200 ms, então as primeiras palavras surgem enquanto você ainda está no meio da frase.
Existe curva de aprendizado?
Cerca de uma hora para trabalho em IDE. A maior mudança mental é aprender quais enquadramentos produzem a saída mais limpa (veja a seção de padrões acima). Depois disso, é mais rápido que digitar para prosa dentro de código, e a consciência de contexto da IDE toma a maioria das decisões de formatação por você.

Experimente a Loqua hoje

Comece de graça. Nativo para Mac. Criado por pesquisadores de algoritmos que usam o produto todos os dias.

Baixar para Mac

Mais no Blog da Loqua

Como fazer
Digitação por voz para AI coding: prompts por voz no Cursor e Claude Code sem digitar
Produtividade
Stack de produtividade por voz: 9 ferramentas que realmente usamos para escrever, entregar e pensar
Como fazer
Notas de reunião por voz no Mac: da fala ao trabalho concluído com notas e ações
Engenharia
Digitação por voz omni-modal: entendimento multimodal, MoE e saída de texto em streaming