Сохранение, импорт и экспорт
В разделе Options → General внизу доступны три действия: Import, Export и Reset. Они работают и в расширении, и в автономном (standalone) режиме, но физическое место записи и состав экспортируемого файла зависят от варианта запуска.
Повседневное изменение любых полей в Options автоматически сохраняется с небольшой задержкой (чтобы не писать на диск на каждый символ). Отдельной кнопки «Сохранить» для обычных правок нет.
Краткая сводка «куда что ложится» по режимам — на странице Установка → Где хранятся настройки.
Куда записываются данные при обычном сохранении
Расширение (Chrome / Edge)
При автосохранении и после импорта фоновый процесс расширения:
- Сохраняет объект настроек (опции, списки, таблицы Network/Props и т.д.) в IndexedDB, заведённый для профиля расширения — это основной, более устойчивый слой.
- Дублирует ту же структуру в
chrome.storage.localпод ключом вродеvue-inspector-settings, чтобы другие части расширения (в т.ч. совместимость со старыми путями и простой доступ) читали те же данные.
В сам JSON настроек не встраиваются двоичные тела сохранённых файлов (фоны и др.): в объект уходят идентификаторы и метаданные, а сами байты лежат в отдельном хранилище IndexedDB (vue-inspector-media и связанные записи). Так уменьшается размер «шапки» настроек и ускоряется загрузка.
Автономный режим (standalone)
Настройки записываются через адаптер локального хранилища приложения в центральное хранилище (ключ вроде inspector-settings в KV-слое IndexedDB, доступ через встроенный storage iframe). Это не chrome.storage расширения: расширения в режиме закладки нет.
Медиафайлы для оформления и связанные блобы учитываются отдельно в том же контуре хранилища, с лимитом суммарного объёма (см. Персонализация).
Дополнительно для ускорения после перезагрузки страницы может использоваться кэш в sessionStorage — он не заменяет постоянное хранилище, а лишь убирает «пустой первый кадр» интерфейса.
Export (экспорт)
По кнопке Export скачивается текстовый файл с именем вида vue-inspector-settings-ГГГГ-ММ-ДД.txt, внутри — форматированный JSON текущего состояния настроек из памяти приложения.
- Standalone: для записей сохранённых файлов (
savedFiles), у которых в хранилище есть блоб, экспорт при необходимости вкладывает содержимое в виде data URI в JSON — файл резервной копии получается более самодостаточным для переноса на другой браузер или ПК. - Расширение: при формировании файла вложенные data URI для таких файлов убираются из JSON; в экспорт попадают в основном параметры и структура, а тяжёлые медиа по-прежнему живут только локально до тех пор, пока вы не перенесёте тот же профиль или не добавите файлы заново после импорта «сухого» набора.
Экспорт удобен для резервной копии, переноса между машинами (особенно в standalone) и версионирования своих пресетов в системе контроля версий как обычного текстового файла.
Import (импорт)
Import открывает выбор файла; ожидается JSON того же вида, что и при экспорте (в интерфейсе фильтр обычно *.txt).
- Файл разбирается и сливается с заводским шаблоном: неизвестные поля отбрасываются или приводятся к актуальной схеме, устаревшие структуры мигрируют по возможности автоматически.
- Результат попадает в ту же модель настроек, что используется при редактировании в Options, затем один раз записывается в постоянное хранилище вашего режима (расширение или standalone).
- Интерфейс Options обновляет связанные списки (например breakpoints и mocks) из импортированных данных.
При сохранении в постоянное хранилище тяжёлые вложения в JSON не дублируются: в текст настроек попадают в основном идентификаторы и параметры, а блобы остаются в медиа-слое. Импорт полного файла из standalone-экспорта (где в JSON вшиты data URI) поднимает эти записи в рабочее состояние; импорт «облегчённого» файла из расширения переносит прежде всего опции и списки — сами картинки/видео для фона на новом месте может понадобиться выбрать заново в Customize.
При ошибке формата импорт не применяется; текст ошибки показывается в форме.
Импорт перезаписывает текущее состояние согласно файлу (в разрезе ключей, которые удалось корректно разобрать). Перед проверкой чужого пресета сделайте Export текущего профиля, чтобы можно было вернуться назад.
Reset (сброс)
Reset возвращает настройки к заводским значениям и очищает связанные медиа-хранилища (блобы фонов и сохранённых файлов). Для расширения дополнительно вызывается сценарий полного сброса в фоне (очистка IndexedDB настроек и ключей vue-inspector-settings в chrome.storage.local). В standalone сброс записывается в локальное хранилище приложения тем же каналом, что и обычное сохранение.
Операция необратима без заранее сохранённого файла экспорта.
Тонкий сброс только Auto Run без полного Reset доступен через всплывающее окно расширения (см. Автозапуск); кнопка Reset в Options затрагивает весь профиль целиком.