Патрик Титцлер, Лучано Резенде

В этом сообщении блога мы представим расширение фрагмента кода Elyra, которое позволяет нам повторно использовать произвольные фрагменты кода в ваших записных книжках, исходном коде или файлах разметки в JupyterLab.

Допустим, вы работаете над записной книжкой и хотите включить стандартный верхний или нижний колонтитул (например, текст лицензии) или какой-то код, который вы создали ранее. Обычно это приводит к лихорадочным поискам. В каком блокноте я использовал код? Где мне нужно добавить самую последнюю версию заявления об отказе от ответственности? Хотя поддержка «блокнота» может помочь, встроенная поддержка повторно используемого кода или ресурсов документации в JupyterLab гораздо привлекательнее.

Установка расширения фрагмента кода

Расширение фрагмента кода можно установить как часть Elyra или отдельно с помощью pip или conda. В контексте этой статьи см. Ниже, как установить расширение фрагмента кода в существующее развертывание JupyterLab.

Установка расширения с помощью pip

$ pip install elyra-code-snippet-extension && jupyter lab build

Установка расширения с помощью Anaconda

$ conda install -c conda-forge elyra-code-snippet-extension && jupyter lab build

Управление и использование фрагментов кода

Доступ к фрагментам кода можно получить, открыв вкладку code snippets на боковой панели JupyterLab:

Пользовательский интерфейс фрагментов кода разделен на две части:

  • панель быстрого поиска и
  • список фрагментов кода, предоставляющий доступ к конкретным действиям фрагмента кода, таким как копирование, вставка, редактирование и удаление.

Создание сниппета

Чтобы создать фрагмент, нажмите + над панелью поиска и введите необходимую информацию. При желании вы можете пометить фрагменты, чтобы их было легче найти.

Поиск сниппета

Чтобы найти фрагмент кода, введите поисковый запрос и / или выберите один из перечисленных тегов.

Копирование сниппета в буфер обмена

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

Вставка сниппета

Щелкните значок вставки фрагмента, чтобы вставить его содержимое в нужное место назначения, например в ячейку записной книжки или в открытое окно редактора. Перетаскивание фрагмента также было включено в последний выпуск Elyra.

Обратите внимание, что редактор не отслеживает, куда вы вставили фрагмент. Также обратите внимание, что фрагменты не действуют как макросы, и поэтому изменения фрагмента не отражаются в местах, где фрагмент был встроен.

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

Вы редактируете фрагмент, нажимая на значок карандаша.

Удаление фрагмента кода

Чтобы удалить фрагмент кода, нажмите на значок корзины.

Совместное использование фрагментов кода

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

Определения хранятся в каталоге $JUPYTER_DATA_DIR/metadata/code-snippets, где $JUPYTER_DATA_DIR относится к каталогу данных Jupyter, который вы можете определить, выполнив следующую команду в окне терминала:

$ jupyter --data-dir

В моей среде фрагменты кода хранятся в /Users/ptitzler/Library/Jupyter/metadata/code-snippets/. Чтобы создать резервную копию или поделиться своими фрагментами, я обычно создаю архив из содержимого этого каталога.

Попробуйте фрагмент кода из Binder

Чтобы поэкспериментировать с расширением фрагмента кода, не устанавливая его локально, просто щелкните ссылку привязки ниже и найдите значок фрагмента кода на боковой панели JupyterLab:

Благодарности

Мы хотели бы поблагодарить Зака Сайлера и Тимоти Джорджа за все его вклады в UX вместе с JaeWook (Jay) Ahn, Kiran Pinnipati и Ai-Vy Dang стажёрами CalPoly, которые помогли внедрить эти улучшения UX.

Заключительные мысли

Elyra постоянно совершенствует Jupyter Notebooks, чтобы помочь специалистам по обработке данных, инженерам по машинному обучению и разработчикам ИИ преодолеть сложности жизненного цикла разработки моделей, что делает JupyterLab еще лучше для практиков ИИ.

Приходите и присоединяйтесь к нашим еженедельным встречам разработчиков, чтобы узнать больше о последних обновлениях Elyra и задать свои вопросы сообществу, в том числе основным разработчикам проекта.

Мы также будем признательны, если вы примете участие в проекте Элира. Прочтите наши правила участия, создавайте новые проблемы, если у вас есть вопросы, предложения по новым функциям или чтобы сообщить о любых ошибках. Мы также приветствуем взносы через запросы на вытягивание на GitHub. И последнее, но не менее важное: не забудьте разместить проект на Github.