A powerful VS Code extension that enables seamless synchronization of your VS Code/Cursor settings, extensions, and keybindings across multiple machines using GitHub Gists.
- π Profile Management: Create, update, and manage multiple sync profiles
- β‘ One-Click Sync: Pull and apply settings with a single click
- π Secure Storage: Uses GitHub Gists for secure, private storage of your settings
- π Comprehensive Sync: Syncs:
- VS Code/Cursor Settings
- Installed Extensions
- Custom Keybindings
- π Smart Conflict Resolution: Handles extension installation/uninstallation with confirmation
- π Detailed Logging: Comprehensive logging for troubleshooting
- VS Code or Cursor editor (untested on windsurf)
- GitHub account
- GitHub authentication (handled automatically by the extension)
- Open VS Code/Cursor
- Go to the Extensions view (
Ctrl+Shift+XorCmd+Shift+X) - Search for "Sync Everything"
- Click Install
- After installation, you'll be prompted to sign in to GitHub
- The extension will automatically create a "Genesis" profile with your current settings if no profiles have been created yet
- If profiles do exist already, use the pull profile command to sync your current editor
- Comments in both
settings.jsonandkeybindings.jsonfiles cannot be preserved during sync operations - The extension has been tested on:
- Windows (VS Code and Cursor)
- Linux (VS Code and Cursor)
- Untested but should work on:
- macOS (VS Code and Cursor)
- Windsurf (requires manual configuration of settings path)
Access all commands through the Command Palette (Ctrl+Shift+P or Cmd+Shift+P):
Sync Everything: Show Menu- Opens the main menuSync Everything: Create Profile- Create a new sync profileSync Everything: Pull Profile- Pull and apply a profileSync Everything: Update Profile- Update an existing profileSync Everything: Delete Profile- Delete a profileSync Everything: Show Logs- View detailed operation logsSync Everything: Set Paths Manually- Select custom paths for your settings and keybindings
This extension contributes the following settings:
(Removed in 0.3.0)synceverything.confirmBeforeSync: Enable/disable confirmation before syncing extensions(Removed in beta 0.2)synceverything.customSettingsPath: Custom path for settings.json(Removed in beta 0.2)synceverything.customKeybindingsPath: Custom path for keybindings.json
Currently, this extension does not contribute any configurable settings. All configuration is handled through the extension's UI commands.
- Reading files on MacOS returns an undefined object on some devices
- Configuration Changes: Removed
synceverything.confirmBeforeSyncconfiguration setting - Core Improvements: Major refactoring of GistService and Logger classes
- Enhanced Error Handling: Improved authentication logic
- Code Quality: Updated dependencies and cleaned up codebase
- Better Path Handling: Improved cross-platform path validation and file operations
- Vscode Insiders: Added automatic support for Vscode Insiders path identification
- Deprecated Manual Paths Settings as the interface for setting custom paths
- Added a
Set Manual Pathsoption to theShow Menucommand to replace the deprecated settings
- Initial beta release
- Core sync functionality
- GitHub Gist integration
- Profile management
- Extension sync with confirmation
- Settings and keybindings sync
- Progress tracking and logging
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Enjoy!