Перейти до вмісту

Як скопіювати код зі знімка екрана на Mac, не передруковуючи його

Автор: Eduard Bruch, розробник Optic · Оновлено

Щоб скопіювати код зі знімка екрана на Mac, відкрий зображення, виділи код інструментом OCR і встав текст у свій редактор. Потім один раз звір його із зображенням, бо OCR може плутати символи на кшталт l і 1 або O і 0.

Коротка відповідь: для зображень у Preview чи Photos спершу спробуй Live Text. Для коду у будь-якому вікні застосунку, відео чи чаті мій вибір — Optic, застосунок у рядку меню, який копіює текст з будь-якої ділянки, над якою ти простягнув рамку (4,99 $ (одноразова покупка) у Mac App Store).

Розкриття: я створюю Optic.

Чому передрукування коду йде не так

Код суворий. Одна неправильна лапка, пропущена дужка чи сплутані l і 1 ламають команду, а помилка часто вказує не на справжню причину. Передрукування довгого рядка docker run чи виклику curl з кількома прапорцями — саме те місце, де трапляються такі помилки.

Код постійно потрапляє в зображення: фрагменти, опубліковані як гарні знімки екрана в соцмережах, навчальні матеріали, що показують приклади картинками, старі вікі-сторінки, повні знімків терміналу, і код, пересланий як знімки екрана в Slack чи Teams.

Спершу спробуй Live Text

macOS Live Text працює там, де його підтримує Apple: зображення в Preview, Photos, Quick Look і Safari. Відкрий знімок екрана в Preview, наведи вказівник на код, поки він не стане текстовим курсором, виділи й натисни Command-C.

Live Text не працює у довільних вікнах застосунків, відеодзвінках чи тексті, намальованому всередині інтерфейсу застосунку. Якщо код у відеопрогравачі, віддаленому робочому столі чи демонстрації екрана, потрібен інструмент OCR екрана.

Скопіюй код за допомогою Optic

Optic читає все, що є на екрані всередині рамки, яку ти малюєш. Сам він не відкриває файли зображень, тож спершу відкрий знімок екрана в Preview, браузері чи будь-якому переглядачі.

  1. Клацни іконку Optic у рядку меню.
  2. Вибери Захопити текст.
  3. Простягни рамку над кодом. Не включай номери рядків, якщо вони є на зображенні.
  4. Встав у свій редактор за допомогою Command-V.

Коли текст готовий, з'являється невелике підтвердження «Скопійовано в буфер обміну».

Увімкни режим коду

У налаштуваннях Optic Режим коду призначений для цього завдання. Він зберігає відступ кожного рядка залежно від того, де текст розташований на зображенні, і вимикає мовну корекцію, щоб розпізнавач не «виправляв» ідентифікатори на слова зі словника. Тримай його ввімкненим, поки копіюєш код, і вимикай для звичайної прози.

Розриви рядків типово зберігаються (Зберігати), що й потрібно для коду. Інші параметри, Видаляти та Розумне об'єднання, призначені для абзаців.

Перевір перед запуском

Розпізнавання виконується на твоєму Mac за допомогою розпізнавання тексту Vision від Apple. Воно добре працює на чіткому контрастному тексті, але це все одно OCR. Перш ніж вставляти команду в термінал, порівняй її із зображенням, особливо:

  • лапки й зворотні лапки
  • l, 1, I та O, 0
  • дефіси й довгі тире у прапорцях
  • відступи в Python або YAML

Більший текст розпізнається краще, тож збільши зображення, перш ніж проводити рамку, якщо шрифт дрібний.

Кілька фрагментів поспіль

Кожне захоплення потрапляє в історію Optic у спливному вікні рядка меню, яка зберігає останні 20 захоплень з мініатюрою. Якщо навчальний матеріал показує п'ять кроків, захопи їх один за одним і копіюй кожен знову з історії, коли він знадобиться. Історія лишається на твоєму Mac.

Де Optic не підходить

  • Він не відкриває файли зображень чи PDF. Код має бути видимий на екрані.
  • Він працює з одним виділенням за раз. Він не обробляє теки зі знімками екрана чи цілі документи.
  • Він копіює простий текст. Він не зберігає кольори синтаксису й не визначає мову програмування.
  • Йому потрібен дозвіл macOS на запис екрана, щоб читати екран.

Більше на цю тему дивись у статтях OCR фрагментів коду на Mac і як скопіювати текст з будь-чого на екрані. Якщо ти порівнюєш застосунки, є огляд застосунків для OCR екрана на Mac.

FAQ

Чи може Mac скопіювати код із зображення без додаткових застосунків?

Часто так. Live Text у Preview, Photos, Quick Look і Safari дає змогу виділяти текст на зображеннях. Він не працює з відео, демонстраціями екрана чи текстом у вікнах інших застосунків. Для коду будь-де в іншому місці екрана мій вибір — Optic із увімкненим режимом коду.

Чи зберігає Optic відступи коду?

З увімкненим режимом коду в налаштуваннях Optic зберігає відступ кожного рядка залежно від його положення на зображенні. Перевір результат для Python і YAML, де відступи мають значення.

Чи потрібне Optic підключення до інтернету?

Ні. Розпізнавання тексту виконується на Mac, а застосунок не має доступу до мережі.

Чому вставлений код містить неправильні символи?

OCR може плутати схожі символи, як-от l і 1. Збільш дрібний текст перед захопленням, скористайся режимом коду й порівняй результат із зображенням.

Отримати Optic у Mac App Store · Усі факти про Optic