VSCodeSyncFiles
Синхронизация выбранных файлов между машинами через ваше собственное облако — без лишних аккаунтов.
VSCodeSyncFiles даёт полный контроль над тем, что синхронизируется. Вместо синхронизации целого воркспейса или настроек вы выбираете конкретные файлы, объединяете их в логические воркспейсы и они передаются через OneDrive, Google Drive, Dropbox или Яндекс Диск на другие ваши машины.
Возможности
- Своё облако — OneDrive · Google Drive · Dropbox · Яндекс Диск
- Выборочная синхронизация — добавляйте только нужные файлы
- Именованные воркспейсы — группируйте файлы, делитесь между машинами
- Разрешение конфликтов — оставить своё / взять чужое / трёхстороннее сравнение + AI-слияние (Copilot)
- Снимки и история — создавайте именованные снимки, восстанавливайте любую версию файла
- Сквозное шифрование — AES-256-GCM на уровне воркспейса, ключи хранятся у вас
- Watch-режим — автосинхронизация при изменении файла с адаптивными интервалами
- Работа офлайн — изменения ставятся в очередь и отправляются при восстановлении соединения
- Быстрая передача — отправьте файл на другую машину без воркспейса, одним действием
Поддерживаемые провайдеры
| Провайдер |
Способ авторизации |
| Microsoft OneDrive |
OAuth 2.0 (браузер) или код устройства |
| Google Drive |
OAuth 2.0 (браузер) |
| Dropbox |
OAuth 2.0 (браузер) |
| Яндекс Диск |
OAuth-токен (вручную или через браузер) |
Все файлы хранятся в папке VSCodeSyncFiles/ в корне вашего облака — полностью видимы и переносимы.
Начало работы
- Установите расширение
- Откройте панель VSCodeSync на боковой панели активности
- Запустите мастер настройки (
VSCodeSync: Запустить мастер настройки) и выберите провайдер
- Войдите в свой облачный аккаунт
- Создайте воркспейс и добавьте в него файлы
- На другой машине — установите расширение, войдите в тот же аккаунт, затем Подключитесь к облачному воркспейсу
Ключевые понятия
Воркспейсы
Воркспейс — это именованная группа файлов, которые синхронизируются вместе. Каждый воркспейс получает собственную папку в облаке. Можно создавать несколько воркспейсов на проект, помечать их тегами, привязывать к Git-ветке или архивировать.
Отслеживаемые файлы
Любой файл в редакторе можно добавить в воркспейс. Расширение отслеживает его по пути относительно корня проекта с поддержкой маппинга путей для каждой машины — удобно, когда проект лежит в разных папках на разных компьютерах.
Манифест и версионирование
В облаке хранится канонический манифест (.vscodesync-workspace.json) со счётчиками Лампорта и хэшами файлов. Конфликты обнаруживаются надёжно, даже если две машины синхронизировались в одну секунду.
Основные команды
| Команда |
Описание |
VSCodeSync: Запустить мастер настройки |
Первоначальная настройка |
VSCodeSync: Создать воркспейс |
Создать новый воркспейс |
VSCodeSync: Подключиться к облачному воркспейсу |
Присоединиться к существующему воркспейсу с другой машины |
VSCodeSync: Добавить текущий файл |
Добавить активный файл в воркспейс |
VSCodeSync: Отправить всё |
Загрузить все изменённые файлы в облако |
VSCodeSync: Получить всё |
Скачать все удалённые изменения |
VSCodeSync: Синхронизировать воркспейс |
Двусторонняя синхронизация |
VSCodeSync: Предпросмотр синхронизации |
Холостой запуск — посмотреть, что изменится |
VSCodeSync: Разрешить конфликты |
Открыть интерфейс разрешения конфликтов |
VSCodeSync: Создать снимок |
Сохранить именованный снимок воркспейса |
VSCodeSync: Восстановить снимок |
Откатиться к предыдущему снимку |
VSCodeSync: Показать историю файла |
Просмотр истории версий файла |
VSCodeSync: Отправить файл (разовая передача) |
Отправить файл без воркспейса |
VSCodeSync: Экспорт / Импорт ключа шифрования |
Управление ключами шифрования |
VSCodeSync: Мигрировать на другой провайдер |
Перенести все данные в другое облако |
VSCodeSync: Проверка состояния |
Диагностика синхронизации |
Полный список команд доступен в палитре команд (Ctrl+Shift+P) по запросу VSCodeSync:.
Настройки
Все параметры находятся в пространстве имён vscodesync.*:
| Параметр |
По умолчанию |
Описание |
vscodesync.notificationLevel |
normal |
silent · normal · verbose |
vscodesync.showFileDecorations |
true |
Значки статуса синхронизации в Проводнике |
vscodesync.maxFileSizeMB |
10 |
Пропускать файлы крупнее этого размера |
vscodesync.encryption |
false |
Шифровать блобы воркспейса (AES-256-GCM) |
vscodesync.aiMerge |
false |
Использовать GitHub Copilot для разрешения конфликтов |
vscodesync.watchMode |
false |
Автосинхронизация при сохранении файла |
vscodesync.watchIntervalSeconds |
30 |
Минимальный интервал опроса в watch-режиме |
vscodesync.deltaSync |
true |
Загружать только изменённые части файла |
vscodesync.compressUploads |
true |
Gzip-сжатие перед загрузкой (отключить при шифровании) |
vscodesync.lineEnding |
preserve |
lf · crlf · preserve |
vscodesync.syncSchedule |
— |
Ограничить синхронизацию определёнными часами/днями |
vscodesync.localBackupEnabled |
true |
Хранить локальные резервные копии перед перезаписью |
vscodesync.snapshotRetentionDays |
30 |
Автоудаление старых снимков |
vscodesync.quickTransferTtlDays |
7 |
Срок хранения файлов быстрой передачи в облаке |
vscodesync.gitBranchAutoSync |
false |
Переключать активный воркспейс при смене Git-ветки |
Интеграция с задачами VS Code
VSCodeSync регистрирует тип задачи для tasks.json:
{
"type": "vscodesync",
"task": "push-all"
}
Доступные задачи: push, pull, push-all, pull-all, create-snapshot.
Требования
- VS Code 1.80.0 или новее
- Аккаунт у одного из поддерживаемых провайдеров
- Доступ к API провайдера
Конфиденциальность и безопасность
- Ваши файлы хранятся в вашем собственном облачном аккаунте — у VSCodeSync нет серверной части.
- OAuth-токены хранятся в зашифрованном Secret Storage VS Code.
- При включённом
vscodesync.encryption содержимое файлов шифруется на клиенте до загрузки. Ключ шифрования никогда не передаётся.
- Телеметрия отключена по умолчанию и управляется командой
VSCodeSync: Переключить телеметрию.
Поддержать проект
Если расширение оказалось полезным — буду рад благодарности 🙏
Лицензия
MIT