Источники и синхронизация

Источники токенов и синхронизация

Откуда плагин берёт токены и данные: Plugin Local, Git Sync (GitHub / GitLab) и Local Workspace. Как переключаться между источниками и с чего начать настройку.

SXL Studio хранит токены, композиции и данные для Database в JSON-файлах. Источник определяет, где эти файлы лежат и кто ещё видит ваши изменения. Источников три, и переключаться между ними можно в любой момент, не теряя данных.

Вкладка Tokens при активном Git-подключении. В футере слева показан источник: ветка sxl-ds, рядом кнопки Refresh, Pull и Push.

Три источника

ИсточникГде лежат файлыКто видит измененияЧто нужно
Plugin LocalВнутри плагина, на этом компьютереТолько выНичего. Режим по умолчанию после установки
Git SyncВ репозитории GitHub или GitLabВся команда после PushPersonal Access Token провайдера
Local WorkspaceВ папке репозитория на диске вашего компьютераВы и ваш редактор кода, команда после коммита из Git-клиентаЗапущенный SXL Bridge

Plugin Local подходит, чтобы попробовать плагин или работать в одиночку. Файлы можно загрузить с компьютера кнопкой Import from computer в футере и выгрузить кнопкой Export to computer.

Git Sync — основной режим для команды. Дизайнер меняет токены в плагине и нажимает Push, разработчики получают коммит в репозитории. Разработчики меняют JSON в коде, дизайнер нажимает Pull, и макеты обновляются. Плагин работает с провайдером через его REST API по токену доступа, ставить git на компьютер не нужно.

Local Workspace нужен, когда токены правят и в плагине, и в IDE на одной машине. Плагин читает и пишет файлы прямо в папке репозитория через SXL Bridge, следит за изменениями на диске и предупреждает о конфликте с несохранённым черновиком в редакторе.

Кроме того, у Git-подключения есть опция Local Storage: тяжёлые файлы токенов и данных хранятся на диске через Bridge, а не во внутреннем хранилище плагина. Она нужна большим проектам, подробнее в разделе Local Storage (Bridge).

Как понять, какой источник активен

Смотрите на чип слева в футере плагина:

  • Local с иконкой монитора — Plugin Local.
  • Имя ветки с иконкой GitHub или GitLab — Git Sync. Справа кнопки Refresh, Pull и Push; синяя точка на Pull или Push значит, что есть что забрать или отправить.
  • Имя профиля с иконкой диска — Local Workspace. Рядом состояние: Watching (плагин следит за папкой), Conflict, Reload или Switching….

Как переключить источник

Нажмите на чип источника в футере, откроется меню.

Меню источника при активном Git-подключении: ветки, поиск веток, переключение на Local, управление Local Workspace и копирование диагностики.

  • Из Git Sync: пункт Switch to Local / Change Repo возвращает в Plugin Local и открывает список подключений; Manage Local Workspace открывает профили Local Workspace. Здесь же лежит работа с ветками: Create Branch, Create Branch From..., поиск и список веток.
  • Из Plugin Local: в меню перечислены сохранённые Git-подключения и профили Local Workspace, выберите нужный.
  • Из Local Workspace: пункты Use Plugin Local и Use Git · имя подключения.

Переключение на Git проверяет подключение заранее. Если репозиторий недоступен из-за сети, переключение всё равно произойдёт, а если подключение настроено неверно, плагин останется на текущем источнике и покажет причину.

Пока в редакторе есть несохранённый черновик, переключение с Local Workspace заблокировано: сохраните или отмените изменения.

Окно Synchronization settings

Шестерёнка Sync settings в правой части футера открывает окно с четырьмя вкладками:

ВкладкаДля чего
Git SyncСписок подключений к GitHub / GitLab, создание и проверка подключения. См. Подключение к репозиторию
Local WorkspaceПрофили локальных папок и настройки Bridge. См. Local Workspace
Cross-fileПеренос значений переменных из другого файла Figma. См. Cross-file Sync
DiagnosticsПроверка подключений и Bridge, лог для поддержки. См. Диагностика

С чего начать

  1. Создайте Personal Access Token у провайдера: GitHub или GitLab.
  2. В плагине откройте Sync settingsGit SyncNew Sync. Заполните репозиторий, ветку, Tokens Path и Data Path, вставьте токен, нажмите Test connection. Если проверка нашла неточности в путях или ветке, кнопка Fix исправит их. Нажмите Save. Подробно: Подключение к репозиторию.
  3. Нажмите Pull в футере, чтобы загрузить токены и данные из репозитория.
  4. Работайте с токенами. Отправляйте изменения кнопкой Push, забирайте чужие кнопкой Pull. Подробно: Pull, Push и ветки.
  5. Если проект большой, включите Local Storage в подключении: Local Storage.
  6. Если вы правите токены ещё и в IDE, настройте Local Workspace.

Что синхронизируется

Папка в репозиторииСодержимое
Tokens PathJSON-файлы токенов и композиций, config.json с настройками коллекций, служебный файл diff-id.<ключ файла>.json, который связывает токены с переменными и стилями конкретного файла Figma. Его не нужно редактировать вручную
Data PathJSON и CSV для Database, маппинги, изображения
Code folderТолько в Dev Mode: папка с исходниками для редактора .vue и Code Connect

Плагин читает и пишет только эти папки. Остальное содержимое репозитория он не трогает.

Поддерживаемые провайдеры

  • GitHub: github.com и GitHub Enterprise Server. Для Enterprise укажите адрес сервера в поле Enterprise URL.
  • GitLab: gitlab.com и собственные инстансы, адрес также в Enterprise URL.

Local Storage (Bridge)

Внутреннее хранилище плагина в Figma ограничено примерно 5 МБ. Когда токенов и данных много, включите Local Storage в форме подключения: тяжёлые файлы будут храниться на диске через SXL Bridge, а плагин продолжит работать как обычно. Нужен запущенный Bridge на порту 37830. Установка Bridge, папка кэша, кнопка Open и авторизационный токен описаны на странице Local Storage.

Если что-то не работает

Что видитеЧто делать
Красная ошибка при запуске плагина про репозиторий или веткуОткройте Sync settings, выберите подключение и нажмите Test connection. Отчёт покажет, что именно не так, а Fix исправит пути и ветку
Кнопки Pull и Push неактивныПроверьте, что активен Git-источник, а не Plugin Local или Local Workspace. Чип в футере должен показывать ветку
Сообщение «Remote repo is too large»Провайдер вернул неполный список файлов. Сузьте Tokens Path и Data Path до нужных папок
Нужно передать отчёт в поддержкуВкладка Diagnostics → команда diagCopy log. Токены доступа в отчёт не попадают

См. также