13.1.1. Редактор скриптов

Редактор – это полноценный профессиональный текстовый редактор, построенный на ядре Qt Creator, с вкладочной однооконной компоновкой. Вкладки вдоль верхней части переключают открытые файлы, а обычные операции с файлами и редактированием находятся в меню File и Edit и на кнопках панели инструментов вдоль левого края. Большая его часть работает так, как вы ожидаете от любого редактора; функции ниже – это те, что важны для работы с MicroPython.

13.1.1.1. Пробельные символы

Отступы в Python – это синтаксис, и ошибка IndentationError, вызванная случайной табуляцией, невидима при обычном отображении. Когда такое происходит, включите Visualize Whitespace в Edit → Advanced – каждый пробел и табуляция отрисовываются на экране, и выбивающийся символ легко заметить.

13.1.1.2. Поиск и замена

Нажмите Ctrl+F для панели поиска и замены. Она соответствует обычному тексту, целым словам или регулярным выражениям, а замены могут использовать группы захвата и сохранять регистр каждого заменяемого совпадения. Нажмите Ctrl+Shift+F для Advanced Find, который расширяет поиск на все открытые файлы или на каждый файл в папке на диске и выводит совпадения в виде кликабельных результатов.

13.1.1.3. Автодополнение кода и подсказки вызовов

Редактор знает Python API камеры. Введите . после имени модуля или объекта, и откроется список автодополнения с его функциями, методами и константами; выберите один, и подсказка вызова проведёт вас по аргументам. Наведите курсор на любое имя API, чтобы увидеть его документацию во всплывающей подсказке – тот же текст, что и в справочнике библиотеки, не покидая редактор. Автодополнение охватывает специфичные для камеры модули (csi, image, machine и остальную часть справочника библиотеки), а также сам язык Python.

Входящий в комплект языковой сервер Python проверяет ваш код по мере ввода, подчёркивая неопределённые имена, неиспользуемые импорты и синтаксические ошибки ещё до запуска скрипта – целый класс сбоев из-за опечаток никогда не доходит до камеры.

Всплывающее окно автодополнения редактора, открывшееся после ввода точки, со списком методов изображения и их сигнатурами вызова

Введите точку, и откроется список автодополнения – каждая запись с полной сигнатурой вызова.

13.1.1.4. GitHub Copilot

Редактор поддерживает GitHub Copilot для встроенных предложений кода с использованием ИИ. Он ничего не делает, пока вы не войдёте под учётной записью GitHub с подпиской Copilot в разделе Copilot диалога настроек. Чтобы снова отключить его, выйдите из учётной записи или снимите флажок его включения.

13.1.1.5. За пределами файлов Python

Редактор открывает не только скрипты. Откройте файл изображения, и он появится в просмотрщике изображений с элементами управления масштабированием и подгонкой под экран – удобно для осмотра сохранённых снимков и шаблонов, не покидая IDE. Откройте двоичный файл, и он появится в шестнадцатеричном редакторе, полезном для быстрого взгляда внутрь записи или файла дескриптора.

13.1.1.6. Редактирование вне IDE

Скрипты – это обычные файлы .py, и ничто не обязывает вас редактировать их в IDE. Когда файл, открытый в редакторе, изменяется на диске – сохранён из другого редактора или получен из системы контроля версий – IDE замечает это, как только её окно снова получает фокус, и перезагружает файл. Она спрашивает первой только в том случае, если в копии в редакторе есть собственные несохранённые изменения.