VS Code Settings Sync 2026: Complete Setup Guide
If you use Visual Studio Code on multiple machines — say a desktop at home and a laptop on the go — Settings Sync is the feature you didn't know you needed. In 2026, it synchronizes not just settings, but extensions, keybindings, snippets, UI state, and even your extensions' settings across every device. Here's everything you need to know.
What Is Settings Sync?
Settings Sync is VS Code's built-in feature that keeps your editor configuration consistent across machines. It uploads your local VS Code profile to Microsoft's servers (via your GitHub or Microsoft account) and downloads it on any other machine where you're signed in.
In 2026, Settings Sync handles:
- All settings (
settings.json) - Installed extensions
- Keyboard shortcuts (
keybindings.json) - UI state (open tabs, panel positions)
- Snippets (user and extension-provided)
- Workspace-specific settings
- Extension settings
Enabling Settings Sync
Step 1: Sign In to VS Code
Settings Sync requires authentication. Click the Accounts icon (top right, person silhouette) or use Ctrl+Shift+P → "Sign in to sync settings."
You can use either:
- GitHub account: Recommended if you use GitHub Copilot
- Microsoft account: Works with any email
Step 2: Enable Sync
- Open Command Palette (
Ctrl+Shift+Pon Windows/Linux,Cmd+Shift+Pon Mac) - Type "Settings Sync" and select "Settings Sync: Turn On"
- Choose what to sync (see options below)
Sync Options
| Category | Description | Default |
|---|---|---|
| Settings | All editor settings (font size, theme, formatter config) | ✅ On |
| Extensions | All installed extensions | ✅ On |
| Keyboard Shortcuts | Custom keybindings | ✅ On |
| UI State | Open tabs, panel layout, sidebar position | ✅ On |
| Snippets | User-created and extension snippets | ✅ On |
| Profiles | Named profiles (see Multi-Profile section) | ❌ Off |
For most users, leaving all options enabled is fine. The sync happens in the background — you won't notice it during normal coding.
Syncing Extensions
When you install an extension on Machine A, it automatically installs on Machine B when you open VS Code there. The first launch after syncing may take a few minutes as extensions download.
Important: Settings Sync syncs which extensions you have installed, but not extension-specific data (like saved API keys or login sessions). You'll need to re-authenticate in each extension on each machine.
Extension Sync Tips
- Prefer sync-friendly extensions: Most popular extensions (GitHub Copilot, Prettier, ESLint, Docker) store settings in your
settings.json— these sync automatically - Extension packs: If you install a pack (like "Python Extension Pack"), all contained extensions sync
- Extension conflicts: If two machines have incompatible extension versions, VS Code will update them
Multi-Profile Support (New in 2025)
VS Code added Profile support in 2025, and in 2026 it's fully integrated with Settings Sync. Profiles let you maintain separate configurations for different work contexts:
- Work Profile: Company extensions, specific settings, enterprise SSO extensions
- Personal Profile: Side projects, different theme, hobby-related extensions
- Presentation Profile: Minimal extensions, larger fonts for demos
Creating a Profile
Ctrl+Shift+P→ "Profiles" → "Create Profile"- Name it (e.g., "Work" or "Python Dev")
- Choose whether to copy current settings or start fresh
- Toggle "Sync this profile" to sync it across machines
Switch between profiles via the Accounts icon → "Profiles" → select your profile.
Syncing Keyboard Shortcuts
Settings Sync includes your custom keybindings. If you've remapped Ctrl+P to "Quick Open" (it is by default) or created custom shortcuts, they sync too.
Conflict handling: If you change a keybinding on Machine A and a different binding on Machine B, the most recent change wins. VS Code will notify you if there's a conflict.
Exporting/Importing Keybindings
To manually export keybindings:
File → Preferences → Keyboard Shortcuts → "Export Keymaps" (JSON file)
To import:
File → Preferences → Keyboard Shortcuts → "Import Keymaps"
Troubleshooting Common Issues
Sync Not Turning On
Problem: "Turn On Sync" option greyed out or fails.
Fixes:
- Ensure you're signed in (Accounts icon should show your avatar)
- Check your internet connection
- Verify your GitHub/Microsoft account is active
- Try signing out and back in:
Ctrl+Shift+P→ "Accounts" → "Sign Out"
Extensions Not Syncing
Problem: Extensions install on one machine but not others.
Fixes:
- Verify "Extensions" sync is enabled in Settings Sync preferences
- Check if the extension is disabled on the receiving machine
- Some enterprise extensions block sync due to license restrictions
- Restart VS Code after enabling sync
Conflict Between Machines
Problem: You get a "Sync Conflict" notification.
Fixes:
- Choose "Accept Local" to keep current machine's settings
- Choose "Accept Remote" to use the synced version
- Choose "Keep Both" to merge (creates a backup)
Selective Sync Issues
Problem: You disabled "Settings" sync but want to sync only extensions.
Fix: Settings Sync requires at least one category enabled. If you turn off Settings, you can still sync Extensions, Shortcuts, and UI State independently.
GitHub Integration
If you use GitHub Copilot, signing in with GitHub for Settings Sync is convenient — one less account to manage. Here's how:
- Click the Accounts icon → "Sign in with GitHub"
- Authorize VS Code in the browser popup
- Return to VS Code — you're now synced via GitHub
Benefit: Your GitHub Copilot subscription and Settings Sync now share the same authentication. If your organization uses GitHub Enterprise, you can sign in with your enterprise account for org-specific settings.
Manual Backup: export.json
While Settings Sync handles most cases automatically, some users prefer manual backups. Export your full VS Code state:
code --export-user-data .
This creates a .vscode.tar file you can import on another machine:
code --import-user-data ./vscode.tar
This is useful for migrating between completely fresh installations or when syncing isn't working.
Performance Tips
- First sync is slow: Initial sync uploads your entire extension list and settings. Expect 1-5 minutes depending on connection speed.
- Extension-heavy profiles: If you have 100+ extensions, sync may take longer. Consider using Profiles to separate work/personal extensions.
- Large workspaces: Settings Sync doesn't sync workspace files — only settings. Your project files remain local.
- Bandwidth usage: Initial sync can use 50-200MB. Subsequent syncs are incremental and much smaller.
Enterprise Settings Sync
For enterprise teams, VS Code supports managed profiles via policies. Admins can:
- Force-sync certain settings across all machines
- Lock specific settings (users can't override)
- Push required extensions to all developers
This requires VS Code Enterprise ($21/user/month) and organization-level policy configuration.
Final Recommendations
- Enable Settings Sync today — it's free and takes 2 minutes to set up
- Use GitHub authentication if you use Copilot — unified login
- Consider Profiles if you have distinct work contexts
- Don't disable any sync categories — they don't take much space
- Re-authenticate extensions after a fresh install — this is normal
Settings Sync is one of VS Code's most valuable features for developers working across multiple machines. Once you set it up, you'll wonder how you lived without it.
Affiliate Link: Download VS Code | Official Settings Sync Docs
Affiliate Disclosure: This page contains affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you.