OCR фрагментів коду на Mac: копіюй код з навчальних матеріалів
Автор: Eduard Bruch, розробник Optic · Оновлено
Щоб скопіювати код, який показано лише як зображення, дозволь OCR прочитати його з екрана, а потім переглянь його, перш ніж запускати. Live Text працює із зображеннями в застосунках Apple; застосунок для OCR екрана з режимом коду працює будь-де й зберігає відступи.
Коротка відповідь: для коду на знімку екрана, який можна відкрити в Preview, спробуй Live Text. Для коду у відео, знімків IDE в чаті чи документації лише із зображень мій вибір — Optic, застосунок у рядку меню, який копіює текст з будь-якої ділянки, над якою ти простягнув рамку (4,99 $ (одноразова покупка) у Mac App Store), з режимом коду для коду.
Розкриття: я створюю Optic.
Чому код — найважчий для передруковування текст
Проза прощає дрібні помилки; код — ні. Дефіс замість підкреслення ламає імпорт, пропущена дужка ламає функцію, а мала літера не на місці змінює змінну. Довгі команди оболонки, шаблони регулярних виразів і блоки конфігурації — саме те, чим люди діляться як знімками екрана, і саме те, що найлегше набрати з помилкою.
Варіант 1: Live Text
Live Text працює там, де його підтримує Apple: зображення в Preview, Photos, Quick Look і Safari та призупинені кадри відео в деяких програвачах. У довільних вікнах застосунків, відеодзвінках чи тексті інтерфейсу він не працює. Для одного знімка екрана з кодом у Preview виділити й скопіювати текст варто спробувати. Перевір відступи після вставлення, бо саме з ними загальне розпізнавання тексту часто має проблеми.
Варіант 2: Optic з режимом коду
Optic читає код з будь-якого місця на екрані: сторінки навчального матеріалу, призупиненого відео, знімка екрана в Slack чи коментаря до pull request.
- У налаштуваннях Optic увімкни Режим коду (один раз).
- Покажи код на екрані.
- Клацни іконку Optic у рядку меню й вибери Захопити текст.
- Простягни рамку над фрагментом.
- Встав у редактор чи термінал за допомогою Command-V.
Що змінює режим коду:
- Відступи зберігаються. Optic визначає відступ кожного рядка за тим, де текст розташований на зображенні, тож вкладені блоки виходять вкладеними. Це важливо для Python і YAML.
- Мовну корекцію вимкнено. Звичайне розпізнавання тексту може «виправляти» незвичні слова на справжні. Для коду це змінило б ідентифікатори, тому режим коду її вимикає.
Розпізнавання використовує фреймворк Vision від Apple на Mac без потреби в інтернеті, а Optic не має доступу до мережі. Це корисно, коли знімок екрана показує внутрішній код.
Типові випадки
- Команди термінала в документації. Скопіюй команду встановлення чи збірки зі знімка екрана термінала.
- Знімки IDE від колег. Дістань код зі знімка екрана в чаті у свій редактор, де ти справді можеш його прочитати й перевірити. Див. копіювання тексту із зображення в Slack на Mac.
- Відео про програмування. Постав відео на паузу й захопи код на екрані.
- Кілька фрагментів з одного навчального матеріалу. Захоплюй кожен блок по черзі; твої останні 20 захоплень лишаються в історії рядка меню, тож ти можеш скопіювати кожне знову, коли дійдеш до нього у своєму проєкті.
Перевір перед запуском
OCR добре працює на чіткому коді високої роздільної здатності, але все одно може плутати схожі символи: 0 і O, 1, l та I, або прямі й кучеряві лапки, особливо в дрібному чи розмитому тексті. Прочитай вставлене, перш ніж запускати, і нехай підсвітка синтаксису в твоєму редакторі підкаже все дивне. Не вставляй результат OCR прямо в оболонку з правами root, не прочитавши його.
Де Optic не підходить
- Жодного імпорту файлів. Він не відкриває зображення чи PDF; спершу покажи їх на екрані.
- Жодного пакетного режиму. Одне захоплення на одне перетягування, тож 30-сторінковий PDF зі списками коду — завдання для інструмента OCR документів.
- Жодного розуміння синтаксису. Optic розпізнає символи; він не перевіряє й не форматує код.
- Текст від руки. Код на фото дошки Optic не обіцяє прочитати.
Більше про знімки екрана з кодом див. у статті копіювання коду зі знімка екрана на Mac.
FAQ
Як скопіювати код з навчального відео YouTube на Mac?
Постав відео на паузу, щоб код був чітким, потім проведи над ним рамку за допомогою застосунку для OCR екрана, як-от Optic з увімкненим режимом коду, і встав у редактор.
Чи зберігає OCR відступи коду?
З режимом коду Optic — так: відступи відновлюються за положенням кожного рядка. Без нього багато інструментів OCR повертають рядки без початкових пробілів.
Чи достатньо надійний код після OCR, щоб його запускати?
Зазвичай близько, але перевіряй. Звичайні помилки — схожі за виглядом символи, тож прочитай код, перш ніж запускати.
Чи надсилає Optic мій код кудись?
Ні. Розпізнавання виконується на Mac, а застосунок не має доступу до мережі.
Отримати Optic у Mac App Store · Усі факти про Optic. Optic потребує macOS 14 Sonoma або новішої. Порівнюєш інструменти? Див. Optic чи TextSniper.