Settings Sync keeps your VS Code settings, keyboard shortcuts, extensions, snippets, tasks, UI layout, and profiles consistent across every machine. Turn it on once, sign in, and VS Code handles synchronization in the background.
When you set up VS Code on a new machine, sign in and your entire setup appears. No manual copying of settings files or reinstalling extensions one by one. If you have not yet set up profiles, see /vscode/how-to-create-and-switch-between-profiles-in-vs-code to organize your settings first.
Turn on Settings Sync
Open the sync menu
Click the Manage gear button at the bottom of the Activity Bar and select Backup and Sync Settings. You can also find this option in the Accounts menu next to the gear.
Sign in to your account
Select Sign in and choose either Sign in with Microsoft or Sign in with GitHub. Your browser opens so you can complete authentication.
If you choose a Microsoft account, you can use a personal Outlook account or an Azure account. You can also link a GitHub account to a new or existing Microsoft account during this step.
Choose what to sync
After signing in, VS Code shows the Settings Sync: Configure dropdown. Check or uncheck each category:
- Settings: User-scoped settings from settings.json.
- Keyboard Shortcuts: Custom keybindings from keybindings.json.
- User Snippets: Your custom code snippets.
- User Tasks: Tasks defined at the user level.
- UI State: Display language, Activity Bar and Panel layout, view visibility, recently used commands, and dismissed notifications.
- Extensions: Installed extensions and their enablement state. Extensions on remote windows are not synced.
- Profiles: All your VS Code profiles and their contents.
Select OK to confirm your choices. Settings Sync is now active. You will see a "Settings Sync is On" entry in the Manage gear menu.
What happens on a second machine
When you turn on Settings Sync on another machine with the same account, VS Code detects the existing cloud data and shows a Merge or Replace dialog:
| Option | What it does |
|---|---|
| Merge | Combines your local settings with the remote settings from the cloud. This is the safe default. |
| Replace Local | Overwrites everything on this machine with the cloud data. Use this on a fresh install. |
| Merge Manually | Opens the Merges view where you can review and accept each preference one by one. |
If both machines changed the same setting, VS Code shows a conflict dialog. Pick Accept Local, Accept Remote, or Show Conflicts to review the difference in a diff editor.
Configure what syncs after setup
You can change which categories sync at any time:
- Open the Command Palette and run Settings Sync: Configure.
- Or click the Manage gear, select Settings Sync is On, then Settings Sync: Configure.
Check or uncheck categories and select OK. Changes take effect immediately.
Exclude specific settings or extensions
You can prevent individual settings or extensions from syncing without turning off the entire category.
To exclude a setting, open the Settings editor and find the setting. Select the gear icon and choose Sync This Setting to toggle it off. Alternatively, use the settingsSync.ignoredSettings setting to list settings to exclude.
To exclude an extension, open the Extensions view, find the extension, select the gear icon, and choose Sync This Extension to toggle it off. You can also use the settingsSync.ignoredExtensions setting.
Keyboard shortcuts across platforms
By default, keyboard shortcuts sync per platform. If your shortcuts work the same on Windows, macOS, and Linux, you can disable the settingsSync.keybindingsPerPlatform setting to share them across all platforms.
Machine-specific settings are never synced
Settings with a machine or machine-overridable scope are excluded from sync automatically. These include paths to local executables and other values that would not make sense on a different machine.
Sync profiles across machines
When Profiles is checked in Settings Sync, all your profiles appear on every synced machine. This includes profile names, icons, extensions, settings, and folder associations.
To verify, open the Settings Sync: Configure dropdown and confirm Profiles is checked.
Syncing Stable and Insiders
By default, VS Code Stable and VS Code Insiders use separate sync services. To link them, open VS Code Insiders, turn on Settings Sync, and during setup select the Stable sync service.
Both builds now share the same synced data.
Note that syncing from a newer Insiders build to an older Stable build can cause data incompatibility. If this happens, Settings Sync disables itself on Stable. Update Stable to the latest version and turn sync back on.
View and restore synced data
VS Code keeps local and remote backups of your synced data. Run the Settings Sync: Show Synced Data command to view them.
Local backups are stored on your machine in a folder organized by preference type with timestamped versions. Open it with Settings Sync: Open Local Backups Folder. Local backups are deleted after 30 days.
Remote backups are stored in the cloud. The latest 20 versions of each resource are kept.
If something goes wrong, restore individual settings, keybindings, snippets, or extensions from these views.
Turn off Settings Sync
To stop syncing, click the Manage gear, select Settings Sync is On, and choose Settings Sync: Turn Off.
You will be asked whether to clear all cloud data. Check the checkbox to permanently delete your synced data. If you leave it unchecked, your data stays in the cloud for when you turn sync back on.
If you want to move a profile to a different machine without using Sync, you can /vscode/how-to-export-import-and-share-a-vs-code-profile instead.
Rune AI
Key Insights
- Turn on Settings Sync from the Manage gear menu > Backup and Sync Settings.
- Sign in with a Microsoft account or a GitHub account.
- Choose which categories to sync: Settings, Keyboard Shortcuts, Snippets, Tasks, UI State, Extensions, and Profiles.
- On a second machine, pick Merge to combine local and remote settings, or Replace Local to overwrite.
- Machine-specific settings and remote-window extensions are never synced.
Frequently Asked Questions
Which account types can I use for Settings Sync?
Does Settings Sync work between VS Code Stable and Insiders?
Are my extensions synced to remote windows like SSH or Dev Containers?
Conclusion
Settings Sync keeps your VS Code setup consistent across every machine. Turn it on once, choose what to sync, and VS Code handles the rest in the background. When you set up a new machine, your settings, extensions, and keyboard shortcuts are ready before you open your first file.
More in this topic
How to Use VS Code with WSL 2 on Windows
Run VS Code connected to Windows Subsystem for Linux so you can develop in a full Linux environment with native tools, terminals, and debugging, all from Windows.
20 Best VS Code Extensions for Web Developers in 2026
Twenty carefully chosen VS Code extensions every web developer should know. Covers formatting, linting, frameworks, debugging, Git, and developer experience.
How to Install, Disable, Update, and Uninstall VS Code Extensions
Learn how to install, disable, update, and uninstall VS Code extensions from the Marketplace and the command line. Step-by-step instructions for every action.