Copiare il codice da uno screenshot su Mac senza ridigitarlo
Di Eduard Bruch, sviluppatore di Optic · Aggiornato il
Per copiare il codice da uno screenshot su un Mac, apri l'immagine, seleziona il codice con uno strumento OCR e incolla il testo nel tuo editor. Poi rileggilo una volta confrontandolo con l'immagine, perché l'OCR può confondere caratteri come l e 1 oppure O e 0.
Risposta breve: per le immagini in Anteprima o Foto, prova prima Testo attivo (Live Text). Per il codice in qualsiasi finestra di app, video o chat, la mia scelta è Optic, un'app per la barra dei menu che copia il testo di qualsiasi area trascinata sullo schermo (4,99 $ (acquisto una tantum) sul Mac App Store).
Dichiarazione: sviluppo Optic.
Perché ridigitare il codice va storto
Il codice è rigoroso. Una virgoletta sbagliata, una parentesi mancante o una l confusa con un 1 rompono un comando, e l'errore spesso non indica la vera causa. Ridigitare una lunga riga docker run o una chiamata curl con diversi flag è esattamente il punto in cui avvengono queste sviste.
Il codice finisce continuamente nelle immagini: frammenti pubblicati come bellissimi screenshot sui social, tutorial che mostrano gli esempi come immagini, vecchie pagine wiki piene di catture del terminale e codice inoltrato come screenshot in Slack o Teams.
Prova prima Testo attivo
Testo attivo di macOS funziona dove Apple lo supporta: immagini in Anteprima, Foto, Quick Look e Safari. Apri lo screenshot in Anteprima, passa il puntatore sul codice finché diventa un cursore di testo, seleziona e premi Comando-C.
Testo attivo non funziona su finestre di app qualsiasi, videochiamate o testo disegnato dentro l'interfaccia di un'app. Se il codice è in un lettore video, in un desktop remoto o in una condivisione dello schermo, ti serve uno strumento OCR per lo schermo.
Copiare il codice con Optic
Optic legge tutto ciò che è sullo schermo dentro il riquadro che disegni. Non apre da sé i file di immagini, quindi apri prima lo screenshot in Anteprima, in un browser o in un qualsiasi visualizzatore.
- Clicca sull'icona di Optic nella barra dei menu.
- Scegli Cattura testo.
- Trascina un riquadro sul codice. Lascia fuori i numeri di riga se l'immagine li ha.
- Incolla nel tuo editor con Comando-V.
Quando il testo è pronto compare una piccola conferma "Copiato negli appunti".
Attiva la modalità codice
Nelle Impostazioni di Optic, la Modalità codice è pensata per questo lavoro. Conserva l'indentazione di ogni riga, in base a dove si trova il testo nell'immagine, e disattiva la correzione della lingua perché il riconoscimento non "corregga" gli identificatori trasformandoli in parole del dizionario. Lasciala attiva mentre copi codice e disattivala per la prosa normale.
Le interruzioni di riga vengono conservate per impostazione predefinita (Conserva), ed è ciò che serve per il codice. Le altre opzioni, Rimuovi e Unione intelligente, sono per i paragrafi.
Controlla prima di eseguirlo
Il riconoscimento avviene sul tuo Mac con il riconoscimento del testo Vision di Apple. Va bene su testo nitido e ad alto contrasto, ma resta pur sempre OCR. Prima di incollare un comando in un terminale, confrontalo con l'immagine, soprattutto:
- virgolette e apici inversi
l,1,IeO,0- trattini e lineette lunghe nei flag
- indentazione in Python o YAML
Il testo più grande si riconosce meglio, quindi ingrandisci l'immagine prima di trascinare se il carattere è piccolo.
Più frammenti di seguito
Ogni cattura finisce nella cronologia di Optic, nel popover della barra dei menu, che conserva le ultime 20 catture con una miniatura. Se un tutorial mostra cinque passaggi, catturali uno dopo l'altro e copia di nuovo ciascuno dalla cronologia quando ti serve. La cronologia resta sul tuo Mac.
Dove Optic non è adatto
- Non apre file di immagini o PDF. Il codice deve essere visibile sullo schermo.
- Lavora su una selezione alla volta. Non elabora cartelle di screenshot né interi documenti.
- Copia testo semplice. Non conserva i colori della sintassi né rileva il linguaggio di programmazione.
- Ha bisogno del permesso di Registrazione schermo di macOS per leggere lo schermo.
Per approfondire, vedi OCR per frammenti di codice su Mac e come copiare il testo da qualsiasi cosa sullo schermo. Se stai confrontando le app, c'è una panoramica delle app OCR per lo schermo del Mac.
FAQ
Un Mac può copiare il codice da un'immagine senza app aggiuntive?
Spesso sì. Testo attivo in Anteprima, Foto, Quick Look e Safari ti permette di selezionare il testo nelle immagini. Non funziona su video, condivisioni dello schermo o testo dentro le finestre di altre app. Per il codice in qualsiasi altro punto dello schermo, la mia scelta è Optic con la modalità codice attiva.
Optic conserva l'indentazione del codice?
Con la modalità codice attiva nelle Impostazioni, Optic conserva l'indentazione di ogni riga in base alla sua posizione nell'immagine. Controlla il risultato per Python e YAML, dove l'indentazione conta.
Optic ha bisogno di una connessione a internet?
No. Il riconoscimento del testo avviene sul Mac, e l'app non ha accesso alla rete.
Perché il codice incollato contiene caratteri sbagliati?
L'OCR può confondere caratteri simili come l e 1. Ingrandisci il testo piccolo prima di catturare, usa la modalità codice e confronta il risultato con l'immagine.