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.
VSCode Marketplace (recommended)
- Install from
katsute.settings-repository
in the extension marketplace in Visual Studio Code or install from the Visual Studio Marketplace.
Manual
- Install the latest release from the releases tab.
- Open Visual Studio Code in the folder with the extension.
- 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
Command | Description |
---|---|
Settings Repository: Options | Menu to access commands for this extension. Can be accessed by clicking Settings Repository on the statusbar. |
Settings Repository: Choose Settings Repository | Menu to access repository options and commands. |
Settings Repository: Authenticate | Update git authentication. |
Settings Repository: Overwrite Local | Overwrite local settings with ones from the git repository. |
Settings Repository: Overwrite Remote | Overwrite settings on the git repository with ones stored locally. |
Settings Repository: Import Settings | Import settings from a zip file. |
Settings Repository: Export Settings | Export settings to a zip file. |
Configuration
Name | Type | Description |
---|---|---|
settings-repository.repository | string | The git repository to sync settings with. |
settings-repository.branch | string | The branch to sync settings with. Branch must already exist. |
settings-repository.autoSync | boolean | Automatically sync settings when VSCode closes. |
settings-repository.includeHostnameInCommitMessage | boolean | Include hostname in the commit message. |
This extension is released under the GNU General Public License (GPL) v2.0.