How to Turn On VS Code Settings Sync and Choose What Syncs

Turn on Settings Sync in VS Code to keep your settings, extensions, keyboard shortcuts, and profiles consistent across every machine you use.

6 min read

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:

OptionWhat it does
MergeCombines your local settings with the remote settings from the cloud. This is the safe default.
Replace LocalOverwrites everything on this machine with the cloud data. Use this on a fresh install.
Merge ManuallyOpens 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

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.
RunePowered by Rune AI

Frequently Asked Questions

Which account types can I use for Settings Sync?

You can sign in with either a Microsoft account (personal Outlook accounts or Azure accounts) or a GitHub account. GitHub Enterprise accounts are not supported. Settings Sync does not support Microsoft Sovereign Cloud accounts.

Does Settings Sync work between VS Code Stable and Insiders?

By default, Stable and Insiders use separate sync services and do not share data. In VS Code Insiders, you can choose the Stable sync service when turning on sync to share settings between both builds. Be aware that syncing from a newer Insiders build to an older Stable build can sometimes cause data incompatibility.

Are my extensions synced to remote windows like SSH or Dev Containers?

No. VS Code does not synchronize extensions to or from remote windows. Extensions you use in an SSH session, WSL, or a Dev Container are managed separately from your local extensions.

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.