Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>VasariSyncNew to Visual Studio Code? Get it now.
VasariSync

VasariSync

Andrew Jacop

|
2 installs
| (0) | Free
Sync git-ignored files across devices via Google Drive
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VasariSync

Sync git-ignored files across devices via Google Drive

VasariSync is a VS Code extension that helps teams and individuals synchronize git-ignored files (like .env, configuration files, credentials) across multiple devices using Google Drive. Named after the Vasari Corridor, it creates a secure bridge for files that shouldn't be in version control but need to be shared.

Features

  • 🔄 Automatic Sync: File changes are automatically uploaded to Google Drive and downloaded on other devices
  • ⚡ Conflict Detection: Smart conflict resolution with three modes (warn/auto/manual)
  • 📴 Offline Support: Queue system ensures changes sync when connection returns
  • 📚 Version History: Keep up to 3 previous versions of each file with easy restoration
  • 🎯 Git-Aware: Only syncs files that are git-ignored (safe by design)
  • 👥 Multi-Device: Seamlessly sync the same project across laptops, desktops, and workstations
  • 🔍 Transparent: Sidebar view shows sync status for all files in real-time
  • ⚙️ Project-Scoped: Settings are per-project, not per-device

Screenshots

Screenshots coming soon in future releases

Requirements

  • VS Code: Version 1.107.0 or higher
  • Git Repository: Project must have a git remote URL (used as project identifier)
  • Google Account: Any Google account with Drive access
  • OAuth Credentials: You must create your own Google Cloud project and OAuth credentials (see Setup below)

Installation

  1. Install from VS Code Marketplace (search for "VasariSync")
  2. Follow the setup instructions below to configure OAuth credentials

Setup

Step 1: Create Google Cloud OAuth Credentials

VasariSync requires you to create your own OAuth credentials for security reasons:

  1. Go to Google Cloud Console
  2. Create a new project (or select existing)
  3. Enable the Google Drive API:
    • Navigate to "APIs & Services" > "Library"
    • Search for "Google Drive API"
    • Click "Enable"
  4. Create OAuth 2.0 credentials:
    • Go to "APIs & Services" > "Credentials"
    • Click "Create Credentials" > "OAuth client ID"
    • Application type: Desktop app
    • Name: "VasariSync"
    • Click "Create"
  5. Download or copy the Client ID and Client Secret

Step 2: Configure VS Code Settings

  1. Open VS Code Settings (File > Preferences > Settings)
  2. Search for "VasariSync"
  3. Enter your OAuth credentials:
    • Google Client ID: Paste your Client ID
    • Google Client Secret: Paste your Client Secret

Alternative: Create a .env file in your project root:

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret

Step 3: Start Syncing

  1. Open a project with a git remote URL
  2. Run command: VasariSync: Configure Files to Sync
  3. Select files/folders to sync (only git-ignored files shown)
  4. Run command: VasariSync: Connect Google Drive
  5. Authorize in browser
  6. Sync begins automatically!

Usage

Commands

Access via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

  • Configure Files to Sync: Select which files/folders to sync
  • Connect Google Drive: Authenticate with Google
  • Sync Now: Manually trigger sync
  • Download Synced Files: Pull files from Drive (useful for new devices)
  • Resolve Conflict: Handle conflicted files
  • Retry Pending Uploads: Retry failed uploads from offline queue
  • Compare File Versions: View version history
  • Restore File Version: Restore a previous version

Sidebar

The VasariSync sidebar (in Explorer view) shows:

  • All synced files with status icons
  • Conflict indicators
  • Last sync timestamp
  • Quick actions (sync, resolve conflicts)

Status Bar

The status bar shows current sync state:

  • ✅ Synced
  • 🔄 Syncing
  • ⚠️ Conflicts
  • 📴 Offline (queued)
  • ❌ Error

How It Works

  1. Project Detection: Uses git remote URL as unique project identifier
  2. File Selection: You choose which git-ignored files/folders to sync
  3. Upload: Changes are uploaded to a private folder in your Google Drive
  4. Manifest: A manifest file tracks file metadata, timestamps, and versions
  5. Download: Other devices detect changes and download automatically
  6. Conflicts: If same file modified on multiple devices, conflict resolution kicks in

Configuration

Available settings (all optional):

  • Sync Debounce (ms): Wait time after file change before syncing (default: 3000)
  • File Size Warning (MB): Warn when file exceeds size (default: 10)
  • File Size Block (MB): Block sync for files over size (default: 100)
  • Device Name: Custom name for this device (defaults to hostname)

Known Limitations (Beta Release)

⚠️ This is a beta release. Use with caution on important projects.

  • Manual OAuth Setup: Requires creating Google Cloud project (not one-click)
  • No Encryption: Files are stored in plaintext on Google Drive (encryption planned for Phase 5)
  • File Size Limits: Google Drive API has rate limits and quotas
  • Git Required: Only works in git repositories with remote URLs

Troubleshooting

"No git remote found"

  • Ensure your project has a git remote: git remote -v
  • Add a remote if missing: git remote add origin <url>

"Authentication failed"

  • Verify OAuth credentials in VS Code settings
  • Ensure Drive API is enabled in Google Cloud Console
  • Try disconnecting and reconnecting

"File won't sync"

  • Check file is git-ignored: git check-ignore <file>
  • Check file size doesn't exceed limits
  • Check status bar for error messages

Conflicts

  • Choose resolution mode in settings: warn/auto/manual
  • Use "Resolve Conflict" command to handle manually
  • Compare versions with "Compare File Versions"

Documentation

For detailed documentation, see the /docs folder:

  • Project Overview
  • Technical Specification
  • Architecture
  • User Flows

Privacy & Security

  • Your Credentials: You use your own Google Cloud OAuth credentials
  • Your Drive: Files are stored in your personal Google Drive (not our servers)
  • Permissions: Extension only requests drive.file scope (files it creates)
  • No Tracking: No analytics, no telemetry, no data collection
  • Open Source: Full source code available for audit

Roadmap

  • ✅ Phase 1-4: Core sync, conflicts, offline, versioning (COMPLETE)
  • 🔜 Phase 5: File encryption (AES-256), error handling improvements
  • 🔜 Phase 6: Comprehensive testing, performance optimization
  • 🔮 Future: Shared team sync, selective sync, compression

Contributing

Contributions welcome! Please file issues at: https://github.com/AndrewJacop/vasari-sync/issues

License

MIT License - see LICENSE

Changelog

See CHANGELOG.md for release notes.


Made with ❤️ for developers who need to sync secrets across devices

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft