В блог-посте примеры кода отрисованы как стилизованные изображения. Коллега вставляет скриншот своей IDE в комментарий к пул-реквесту. Документация к устаревшему инструменту существует только в виде скриншотов терминала на вики. Ответы на Stack Overflow содержат код, встроенный в изображения, потому что форматирование его исказило. В каждом случае код виден и читаем, но это изображение — а копирование кода с изображения путём перепечатывания — верный способ потратить полчаса на отладку точки с запятой, которую вы приняли за двоеточие.
Код требует идеально точного извлечения
В отличие от прозы, код не терпит приближений. Дефис вместо подчёркивания ломает импорт. Одна неправильно расположенная скобка делает функцию невалидной. Строчная буква там, где нужна заглавная, полностью меняет ссылку на переменную. Перепечатывая код с изображения, вы превращаете каждый символ в потенциальную точку отказа — а внесённые баги невидимы, потому что на первый взгляд всё выглядит правильно.
Проблема усугубляется для длинных команд, многострочных фрагментов или незнакомого синтаксиса. Команда Docker run с десятью флагами, регулярное выражение или конвейер оболочки с пайпами и перенаправлениями — именно такой контент часто передают как изображения, и его почти невозможно перепечатать точно.
Извлекайте код с любого изображения на экране
Optic считывает символы кода прямо с экрана. Откройте изображение, страницу урока или скриншот с кодом, активируйте Optic из строки меню и выделите фрагмент. Распознанный текст — с сохранением отступов, специальных символов и структуры строк — сразу попадает в буфер обмена.
Команды терминала
Скрипты установки, команды сборки и конвейеры развёртывания, показанные в виде скриншотов терминала, часто встречаются в документации и уроках. Выделите блок команды и вставьте её в терминал, будучи уверенными, что флаги, пути и аргументы указаны точно верно.
Скриншоты IDE
Когда коллега делится скриншотом своего кода — в Slack, в комментарии GitHub, в письме, — извлеките код и вставьте его в собственный редактор. Протестируйте, измените или проверьте его как следует, а не щуритесь на изображение.
Извлечение нескольких фрагментов
Уроки часто показывают несколько блоков кода на странице. Извлекайте их по очереди. История захватов Optic сохраняет каждое извлечение, так что можно пройти весь урок и вставить каждый фрагмент в свой проект по одному из выпадающего меню истории.