{"id":18408870,"url":"https://github.com/daishe/vscode-gitopssettings","last_synced_at":"2026-07-02T22:31:42.679Z","repository":{"id":140102032,"uuid":"483800486","full_name":"daishe/vscode-gitopssettings","owner":"daishe","description":"Manage your VS Code configuration in GitOps style!","archived":false,"fork":false,"pushed_at":"2022-04-20T22:08:49.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-30T07:47:06.635Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daishe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-20T20:16:51.000Z","updated_at":"2022-04-20T22:08:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"5b114377-5466-4ef1-a023-db9117479daf","html_url":"https://github.com/daishe/vscode-gitopssettings","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daishe/vscode-gitopssettings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fvscode-gitopssettings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fvscode-gitopssettings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fvscode-gitopssettings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fvscode-gitopssettings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daishe","download_url":"https://codeload.github.com/daishe/vscode-gitopssettings/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daishe%2Fvscode-gitopssettings/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35065701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T03:22:02.777Z","updated_at":"2026-07-02T22:31:42.661Z","avatar_url":"https://github.com/daishe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitOpsSettings\n\nManage your settings and Visual Studio Code configuration in GitOps style!\n\n\u003e This is a very fresh (initial) release. I have put a great deal of effort into making sure that it will not destroy your Visual Studio Code installation. Nevertheless, to be doubly sure, please backup your settings before enabling this extension and playing with it. They can be found in `%APPDATA%\\Code\\User` (Windows), `~/.config/Code/User` (Linux) and `~/Library/Application Support/Code/User` (Mac).\n\n## Features\n\nIt automatically synchronizes your entire Visual Studio Code configuration. That includes:\n\n- Settings\n- Keyboard shortcuts\n- User snippets\n- User tasks\n- Extensions\n\nAnd uses Git repository as the single source of truth.\n\n### Why create this extension when Visual Studio Code has built in functionally for synchronizing configuration\n\nYes is does, and **if built in synchronization is good enough for you, you should probably use it**. However it requires Github (or Microsoft account). Moreover it requires signing in into this account (and thus providing credentials) on every machine. If any of the two is a problem or a deal breaker, GitOpsSettings is for you!\n\nOf course this extension requires credential to access your Git server however it do not places any requirements on the Git hosting provider. Credentials for Git repositories usually allow only pull and push operations (nobody can delete anything) and they can often be limited to single repo or restrict access as read only.\n\n## Requirements\n\nYou need to have Git. Not really surprising... Besides that no other requirements.\n\nOf course you need to also have Git repository (both locally and hosted on some remote server) to synchronize your data.\n\n## Setting up synchronization\n\nSince this extension can also synchronizes settings, the location of directory congaing repository is kept, by GitOpsSettings, separately. You can configure it by invoking `Set storage directory` command.\n\n## Extension Settings\n\nTo configure GitOpsSettings the following settings are available:\n\n- **GitOpsSettings \u003e Base \u003e SilentGitFailures**: When git operation fails during automatic checking for available updates, do not report anything. Note, that this option do not affect commands called explicitly by user. _(Default: on)_\n- **GitOpsSettings \u003e Base \u003e SingleUpdatesCheck**: Perform check for available updates only once, at startup (otherwise perform updates checks periodically). Note, that when enabled, check attempts will still be periodically performed until the first fully successful updates availability check. A reload is required for this option change to take effect. _(Default: on)_\n- **GitOpsSettings \u003e Base \u003e UpdatesCheckInterval**: Time interval between successive updates availability checks (in minutes). _(Default: 10)_\n- **GitOpsSettings \u003e Synchronize \u003e Settings**: Enable settings synchronization. _(Default: on)_\n- **GitOpsSettings \u003e Synchronize \u003e KeyboardShortcuts**: Enable user keyboard shortcuts synchronization. _(Default: on)_\n- **GitOpsSettings \u003e Synchronize \u003e UserSnippets**: Enable user snippets synchronization. _(Default: on)_\n- **GitOpsSettings \u003e Synchronize \u003e UserTasks**: Enable user tasks synchronization. _(Default: on)_\n- **GitOpsSettings \u003e Synchronize \u003e Extensions**: Enable extensions synchronization. This option causes installation of missing extensions, uninstallation of non listed extension and management of enabled/disabled states. _(Default: on)_\n- **GitOpsSettings \u003e Synchronize \u003e UiState**: Enable UI state synchronization. _(Default: on)_\n\n## Exporting configuration\n\nTo export current Visual Studio Code configuration invoke `Export current configuration` command and pick directory to store your configuration in. By default it will open directory set as storage directory.\n\n## Commands\n\n- **Import configuration without performing pull operation** [`gitopssettings.importDataWithoutPull`]: Imports configuration from storage directory. It also prompts for confirmation on problems (like dirty working tree or upstream ahead) instead of failing.\n- **Import configuration** [`gitopssettings.importData`]: Performs Git fast forward pull and imports configuration from storage directory.\n- **Check for available updates** [`gitopssettings.checkForUpdates`]: Performs Git fetch operation and checks repository for available updates on current branch in relation to upstream.\n- **Export current configuration** [`gitopssettings.exportCurrentData`]: Opens directory selection dialog to select export location. By default opens on path set as storage directory.\n- **Set storage directory** [`gitopssettings.setStorageDirectory`]: Opens directory selection dialog to configure internally kept path to storage directory.\n- **Open storage directory** [`gitopssettings.openStorageDirectory`]: Opens a system file browser on directory set as storage.\n\n## Known issues and limitations\n\n- It does not synchronizes enabled/disabled states for extensions. Support for this is coming soon!\n- This extension does not (by itself) perform any (almost) modifications to Git repository. All it does is call `git fetch` and `git pull` with fast forward only option. This is both good and bad - good since extension has minimal footprint and you can structure and manage repository how you want, bad because you do not have one simple command to commit and push your changes of the configuration.\n- It does not synchronizes version of installed extensions.\n- GitOpsSettings do not synchronizes any workspace specific configurations or UI state.\n- Currently, this extension does not support customization of configuration for different environments. You can achieve this manually by creating multiple storage directories in your repository and by copping files between them.\n\n## Related projects\n\nIf you like or need this extension you may also like [chezmoi](https://www.chezmoi.io/). If not for the fact that extensions are not a simple file, dotfile managers, like chezmoi, could replace this extension.\n\n## Release notes\n\n### 0.0.1\n\nInitial release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaishe%2Fvscode-gitopssettings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaishe%2Fvscode-gitopssettings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaishe%2Fvscode-gitopssettings/lists"}