icon

Settings Repository

Sync VSCode settings to a repository


Sync VSCode settings, extensions, keybindings, and more to a git repository.

Installation

⚠️ This extension is not compatible with remote distributions of VSCode (ex: Codespaces). Pull your settings from VSCode on desktop then use the Settings Sync that is included with VSCode.

This extension requires git to be installed.

  1. Install from katsute.settings-repository in the extension marketplace in Visual Studio Code or install from the Visual Studio Marketplace.

Manual

  1. Install the latest release from the releases tab.
  2. Open Visual Studio Code in the folder with the extension.
  3. Right click the extension and select Install Extension VSIX.

 

Run Settings Repository: Choose Settings Repository and select Repository to setup and authenticate with a repository, make sure you have your access token ready.

For classic tokens, make sure you have [repo] selected.

For fine grained tokens, make sure you have [Read and Write access to code] enabled.

By default this extension will use the main branch, if you are using a different branch make sure it has already been created before you push.

Logging information is located in the lower panel under Output > Settings Repository.

Features

Extension Sync

Sync all of the extensions that you use, including disabled ones. Currently the enabled/disabled state of extensions can not be toggled (see microsoft/vscode#15466), extensions will be enabled/disabled based on the local settings.

Settings Sync

Sync your settings and snippets wherever you use VSCode.

Keybindings Sync

Sync keybindings between Windows and Mac, automatically swaps between ctrl and .

Locale Sync

Sync the language that VSCode uses. Requires a restart to see changes.

Repository Sync

Use any git repository to backup your settings. For private repositories make sure your token is scoped correctly. Branch must already exist.

Import / Export to ZIP

Share copies of your settings without needing a repository. Use Settings Repository: Export Settings to export settings to a zip file and use Settings Repository: Import Settings to import settings from a zip file.

Commands

CommandDescription
Settings Repository: OptionsMenu to access commands for this extension. Can be accessed by clicking Settings Repository on the statusbar.
Settings Repository: Choose Settings RepositoryMenu to access repository options and commands.
Settings Repository: AuthenticateUpdate git authentication.
Settings Repository: Overwrite LocalOverwrite local settings with ones from the git repository.
Settings Repository: Overwrite RemoteOverwrite settings on the git repository with ones stored locally.
Settings Repository: Import SettingsImport settings from a zip file.
Settings Repository: Export SettingsExport settings to a zip file.

Configuration

NameTypeDescription
settings-repository.repositorystringThe git repository to sync settings with.
settings-repository.branchstringThe branch to sync settings with. Branch must already exist.
settings-repository.autoSyncbooleanAutomatically sync settings when VSCode closes.
settings-repository.includeHostnameInCommitMessagebooleanInclude hostname in the commit message.

 

This extension is released under the GNU General Public License (GPL) v2.0.

Development

Role
Developer & Maintainer
Started
July 2022
Completed
July 2022
Last Updated
March 2024
Description

Sync VSCode settings, extensions, keybindings, and more to a git repository. The only extension that syncs to a git repository.

Status
Maintenance

Built with
  • TypeScript
  • NodeJS
  • Git
Built for
  • VSCode
Built using
  • VSCode