Ir para o conteúdo

OCR de trechos de código no Mac: copie código de tutoriais e capturas

Por Eduard Bruch, desenvolvedor do Optic · Atualizado em

Para copiar código que só aparece como imagem, deixe o OCR ler o código da tela e depois revise-o antes de executar. O Live Text funciona para imagens nos apps da Apple; um app de OCR de tela com modo código funciona em qualquer lugar e mantém a indentação.

Resposta curta: para código numa captura de tela que você pode abrir no Preview, tente o Live Text. Para código em vídeos, capturas de IDE no chat ou documentos só com imagens, minha escolha é o Optic, um app da barra de menus que copia o texto de qualquer área que você arrastar na tela (US$ 4,99 (compra única) na Mac App Store), com um modo código para código.

Divulgação: eu desenvolvo o Optic.

Por que código é o texto mais difícil de redigitar

A prosa perdoa pequenos erros; o código não. Um hífen no lugar de um sublinhado quebra um import, um colchete faltando quebra uma função e uma letra minúscula no lugar errado muda uma variável. Comandos de shell longos, padrões de regex e blocos de configuração são exatamente o que as pessoas compartilham como capturas de tela, e exatamente o que é mais fácil de digitar errado.

Opção 1: Live Text

O Live Text funciona onde a Apple o suporta: imagens no Preview, no Fotos, no Quick Look e no Safari, e quadros de vídeo pausados em alguns players. Ele não funciona em janelas arbitrárias de apps, chamadas de vídeo ou texto da interface. Para uma única captura de tela de código no Preview, vale a pena tentar selecionar e copiar o texto. Confira a indentação depois de colar, pois é aí que o reconhecimento de texto geral costuma ter dificuldade.

Opção 2: Optic com o modo código

O Optic lê código de qualquer lugar da tela: uma página de tutorial, um vídeo pausado, uma captura de tela no Slack ou um comentário de pull request.

  1. Nas Configurações do Optic, ative o Modo código (preservar indentação) (uma vez).
  2. Exiba o código na tela.
  3. Clique no ícone do Optic na barra de menus e escolha Capturar Texto.
  4. Arraste um retângulo sobre o trecho.
  5. Cole com Command-V no seu editor ou terminal.

O que o modo código muda:

  • A indentação é mantida. O Optic calcula a indentação de cada linha a partir de onde o texto está na imagem, então blocos aninhados saem aninhados. Isso importa para Python e YAML.
  • A correção de idioma fica desativada. O reconhecimento de texto normal pode "corrigir" palavras incomuns para palavras reais. Para código, isso mudaria identificadores, então o modo código a desativa.

O reconhecimento usa o framework Vision da Apple no Mac sem precisar de internet, e o Optic não tem acesso à rede. Isso é útil quando a captura de tela mostra código interno.

Casos típicos

  • Comandos de terminal em documentação. Copie um comando de instalação ou build de uma captura de tela de terminal.
  • Capturas de IDE de colegas. Leve o código de uma captura de tela no chat para o seu editor, onde você pode de fato lê-lo e testá-lo. Veja copiar texto de uma imagem do Slack no Mac.
  • Vídeos de programação. Pause o vídeo e capture o código na tela.
  • Vários trechos de um tutorial. Capture cada bloco em sequência; suas últimas 20 capturas ficam no histórico da barra de menus, então você pode copiar cada uma de novo quando chegar a ela no seu projeto.

Revise antes de executar

O OCR é bom em código nítido e de alta resolução, mas ainda pode confundir caracteres parecidos: 0 e O, 1, l e I, ou aspas retas e curvas, principalmente em texto pequeno ou desfocado. Leia o que você colou antes de executar e deixe o destaque de sintaxe do seu editor apontar qualquer coisa estranha. Não cole a saída do OCR direto num shell com direitos de root sem lê-la.

Onde o Optic não se encaixa

  • Sem importação de arquivos. Ele não abre imagens nem PDFs; exiba-os primeiro na tela.
  • Sem processamento em lote. Uma captura por arrasto, então um PDF de 30 páginas com listagens de código é trabalho para uma ferramenta de OCR de documentos.
  • Sem noção de sintaxe. O Optic reconhece caracteres; não verifica nem formata o código.
  • Escrita à mão. Código numa foto de quadro branco não é algo que o Optic promete ler.

Para mais sobre capturas de tela de código, veja copiar código de uma captura de tela no Mac.

FAQ

Como copio código de um tutorial do YouTube no Mac?

Pause o vídeo para o código ficar nítido, depois arraste sobre ele com um app de OCR de tela como o Optic com o modo código ativado e cole no seu editor.

O OCR mantém a indentação do código?

Com o modo código do Optic, sim: a indentação é reconstruída a partir da posição de cada linha. Sem ele, muitas ferramentas de OCR devolvem as linhas sem espaços iniciais.

O código obtido por OCR é confiável o bastante para executar?

Em geral fica próximo, mas confira. Caracteres de aparência parecida são os erros de sempre, então leia o código antes de executá-lo.

O Optic envia meu código para algum lugar?

Não. O reconhecimento roda no Mac e o app não tem acesso à rede.

Baixar o Optic na Mac App Store · Todos os fatos do Optic. O Optic precisa do macOS 14 Sonoma ou posterior. Comparando ferramentas? Veja Optic vs TextSniper.