{"id":13452559,"url":"https://github.com/shanalikhan/code-settings-sync","last_synced_at":"2025-05-13T19:06:19.648Z","repository":{"id":38430948,"uuid":"47984369","full_name":"shanalikhan/code-settings-sync","owner":"shanalikhan","description":"🌴💪 Synchronize your Visual Studio Code Settings Across Multiple Machines using GitHub GIST 💪🌴","archived":false,"fork":false,"pushed_at":"2024-12-13T11:15:20.000Z","size":10043,"stargazers_count":4049,"open_issues_count":273,"forks_count":399,"subscribers_count":53,"default_branch":"master","last_synced_at":"2025-05-06T08:45:27.842Z","etag":null,"topics":["gist","github-gist","settings-sync","sync","visual-studio-code","vscode-extension","vscode-sync"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shanalikhan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"shanalikhan","open_collective":"code-settings-sync","issuehunt":"code-settings-sync"}},"created_at":"2015-12-14T15:42:00.000Z","updated_at":"2025-05-06T02:50:21.000Z","dependencies_parsed_at":"2024-12-08T00:38:20.714Z","dependency_job_id":"e367e649-d32b-4ee9-9b1f-2399c2a5c287","html_url":"https://github.com/shanalikhan/code-settings-sync","commit_stats":{"total_commits":662,"total_committers":91,"mean_commits":7.274725274725275,"dds":0.5,"last_synced_commit":"eb332ba5e8180680e613e94be89119119c5638d1"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanalikhan%2Fcode-settings-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanalikhan%2Fcode-settings-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanalikhan%2Fcode-settings-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanalikhan%2Fcode-settings-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shanalikhan","download_url":"https://codeload.github.com/shanalikhan/code-settings-sync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253429072,"owners_count":21907047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["gist","github-gist","settings-sync","sync","visual-studio-code","vscode-extension","vscode-sync"],"created_at":"2024-07-31T07:01:27.540Z","updated_at":"2025-05-13T19:06:19.628Z","avatar_url":"https://github.com/shanalikhan.png","language":"TypeScript","readme":"# Settings Sync [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Synchronize%20your%20%40VisualStudio%20%40code%20Settings%20Across%20Multiple%20Machines%20using%20%40github%20GIST%20by%20%40itsShanKhan\u0026url=https://github.com/shanalikhan/code-settings-sync\u0026via=code\u0026hashtags=code,vscode,SettingsSync,developers) [![Follow](https://img.shields.io/twitter/follow/itsShanKhan.svg?style=social\u0026label=Follow)](https://twitter.com/intent/follow?screen_name=itsShanKhan)\r\n\r\n**Previously known as Visual Studio Code Settings Sync**\r\n\r\n[![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)\r\n[![Greenkeeper badge](https://badges.greenkeeper.io/shanalikhan/code-settings-sync.svg)](https://greenkeeper.io/)\r\n[![Master course](https://img.shields.io/badge/Supported%20by-VSCode%20Power%20User%20Course%20%E2%86%92-gray.svg?colorA=444444\u0026colorB=4F44D6)](https://t.co/8BEMyhpKU5?amp=1)\r\n\r\n## Support\r\n\r\nWhile being free and open source, if you find it useful, please consider supporting it by donating via PayPal or Open Collective. If you are using it in office as a team, please ask your company to support us via Open Collective from just 2\\$ per month!\r\n\r\n\u003ctable align=\"center\" width=\"60%\" border=\"0\"\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003e\r\n      \u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=4W3EWHHBSYMM8\u0026lc=IE\u0026item_name=Code%20Settings%20Sync\u0026item_number=visual%20studio%20code%20settings%20sync\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted\"\u003e\r\n          \u003cimg src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif\"/\u003e\r\n      \u003c/a\u003e\r\n      \u003cbr\u003e\r\n    \u003c/td\u003e\r\n      \u003ctd\u003e\r\n        \u003ca href=\"https://opencollective.com/code-settings-sync/order/3848\" target=\"_blank\"\u003e\r\n            \u003cimg src=\"https://opencollective.com/webpack/donate/button.png?color=blue\" width=200 /\u003e\r\n        \u003c/a\u003e\r\n          \u003cbr\u003e\r\n          *2$ Per Month\r\n      \u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\u003cbr\u003e\r\n \u003ca href=\"https://join.slack.com/t/codesettingssync/shared_invite/enQtNzQyODMzMzI5MDQ3LWNmZjVkZjE2YTg0MzY1Y2EyYzVmYThmNzg2YjZkNjhhZWY3ZTEzN2I3ZTAxMjkwNWU0ZjMyZGFhMjdiZDI3ODU\"\u003e\r\n\u003cimg src=\"https://i.imgur.com/1QWdtcX.png\" alt=\"Drawing\" style=\"width: 150px;\"/\u003e\r\n\u003c/a\u003e\r\n\u003cbr\u003e\r\n\u003cbr\u003e\r\n\r\n**Type Sync in command Palette in order to view all commands.**\r\n\r\n## Key Features\r\n\r\n```\r\n1. Use your GitHub account token and Gist.\r\n2. Easy to Upload and Download on one click.\r\n3. Show a summary page at the end with details about config and extensions effected.\r\n4. Auto download Latest Settings on Startup.\r\n5. Auto upload Settings on file change.\r\n6. Share the Gist with other users and let them download your settings.\r\n7. Supports GitHub Enterprise\r\n8. Support pragmas with @sync keywords: host, os and env are supported.\r\n9. GUI for changing settings / logging in\r\n10. Allows you to Sync any file across your machines.\r\n```\r\n\r\n## It Syncs\r\n\r\n```\r\nAll extensions and complete User Folder that Contains\r\n1. Settings File\r\n2. Keybinding File\r\n3. Launch File\r\n4. Snippets Folder\r\n5. VSCode Extensions \u0026 Extensions Configurations\r\n6. Workspaces Folder\r\n```\r\n\r\n## Shortcuts\r\n\r\n```\r\n1. Upload Key : Shift + Alt + U\r\n2. Download Key : Shift + Alt + D\r\n\r\n(on macOS: Shift + Option + U / Shift + Option + D)\r\n```\r\n\r\n## Configure Settings Sync\r\n\r\n\r\nSettings Sync Configuration page will be opened automatically on code start and requires two things to setup:\r\n\r\n1. GitHub Token\r\n2. GitHub Gist Id\r\n\r\nGitHub Token needs to be retrived by your GitHub account while Settings Sync creates GIST if you are first time user.\r\n\r\nFollowing are the steps you need to perform to configure.\r\n\r\n- Click on `Login with GitHub` .\r\n- Login GitHub on Browser and close the browser tab once you get Success message.\r\n- If you are using Settings Sync first time GIST will be created automatically when you upload your settings.\r\n- If you already have GitHub Gist, new window will be opened to allow you to select the GitHub Gist or `Skip` to create new Gist.\r\n\r\n\r\n\r\n![Login with GitHub](https://shanalikhan.github.io/img/login-with-github.png)\r\n\r\n\r\n![Existing Gist](https://shanalikhan.github.io/img/existing-gist.png)\r\n\r\n\r\nYou can always **verify created gist** by going to `https://gist.github.com` and checking for a gist named `cloudSettings`\r\n\r\n\r\n## Upload Your Settings\r\n\r\n**Press Shift + Alt + U** (macOS: Shift + Option + U)\r\n\r\n\u003e Type \"\u003eSync\" In Command Palette into order download / upload\r\n\r\nWhen downloading or uploading for the first time, the welcome page will automatically open, where you can configure the Settings Sync.\r\n\r\nOnce you select upload, after uploading the settings. You will see the Summary details with the list of each files and extensions uploaded.\r\n\r\n## Download your Settings\r\n\r\n**Press Shift + Alt + D** (macOS: Shift + Option + D)\r\n\r\n\u003e Type \"\u003eSync\" In Command Palette into order download / upload\r\n\r\nWhen downloading or uploading for the first time, the welcome page will automatically open, where you can configure the Settings Sync.\r\n\r\nOnce you select download, after downloading. Settings Sync will display you Summary containing the list of each files and extension being downloaded.\r\n\r\nNew popup will be opened to allow you to restart the code to apply the settings.\r\n\r\n## Reset Extension Settings\r\n\r\n\u003e Select **\"\u003e Sync : Reset Extension Settings\"** in the Command Palette to reset your settings\r\n\r\n\r\n## Settings\r\n\r\nSettings can be changed through the settings page, which can be accessed through **\"\u003e Sync : Advanced Options \u003e Open Settings Page\"**\r\n\r\nThere are two types of settings in Settings Sync.\r\nI will recommend you to read the configurations details [here](https://dev.to/shanalikhan/visual-studio-code-settings-sync-configurations-mn0).\r\n\r\n\r\n### Gist Settings\r\n\r\nGist Settings are stored in `settings.json` file of Code.\r\nYou can customize the settings in gist settings like:\r\n\r\n```\r\n1. Configure Gist Id (Environment)\r\n2. Configure auto upload / download for GitHub Gist\r\n3. Configure extension sync behaviour\r\n4. Configure force download\r\n4. Configure force upload\r\n6. Configure quiet sync\r\n```\r\n\r\n```json\r\n    \"sync.gist\": \"0c929b1a6c51015cdc9e0fe2e369ea4c\",\r\n    \"sync.autoDownload\": false,\r\n    \"sync.autoUpload\": false,\r\n    \"sync.forceDownload\": false,\r\n    \"sync.forceUpload\": false,\r\n    \"sync.quietSync\": false,\r\n    \"sync.removeExtensions\": true,\r\n    \"sync.syncExtensions\": true\r\n```\r\n\r\n### Global Settings\r\n\r\nGlobal settings are present in `syncLocalSettings.json` inside `User` folder. These settings will be shared across multiple Gist Environments.\r\n\r\n\r\nYou can customize the sync:\r\n\r\n```\r\n1. Options by which files / folders and settings to exclude from upload.\r\n2. Configure default Gist Environment name.\r\n3. Replace the code settings after downloading.\r\n4. Change the Gist description while creating new one in github.\r\n5. Configure GitHub Enterprise Url\r\n```\r\n\r\n```json\r\n{\r\n    \"ignoreUploadFiles\": [\r\n        \"state.*\",\r\n        \"syncLocalSettings.json\",\r\n        \".DS_Store\",\r\n        \"sync.lock\",\r\n        \"projects.json\",\r\n        \"projects_cache_vscode.json\",\r\n        \"projects_cache_git.json\",\r\n        \"projects_cache_svn.json\",\r\n        \"gpm_projects.json\",\r\n        \"gpm-recentItems.json\"\r\n    ],\r\n    \"ignoreUploadFolders\": [\r\n        \"workspaceStorage\"\r\n    ],\r\n    \"ignoreExtensions\": [],\r\n    \"gistDescription\": \"Visual Studio Code Settings Sync Gist\",\r\n    \"version\": 340,\r\n    \"token\": \"YOUR_GITHUB_TOKEN\",\r\n    \"downloadPublicGist\": false,\r\n    \"supportedFileExtensions\": [ \"json\", \"code-snippets\" ],\r\n    \"openTokenLink\": true,\r\n    \"disableUpdateMessage\": false,\r\n    \"lastUpload\": null,\r\n    \"lastDownload\": null,\r\n    \"githubEnterpriseUrl\": null,\r\n    \"askGistDescription\": false,\r\n    \"customFiles\": {},\r\n    \"hostName\": null,\r\n    \"universalKeybindings\": false,\r\n    \"autoUploadDelay\": 20\r\n}\r\n```\r\n\r\nI will recommend you to read the configurations details [here](https://dev.to/shanalikhan/visual-studio-code-settings-sync-configurations-mn0).\r\n\r\n\r\n## Features\r\n\r\n### Toggle Auto-Upload on change\r\n\r\nAuto-upload is **disabled by default**. When the settings are changed and saved this feature will automatically start the upload process and save the settings online.\r\n\r\nPlease make sure you have valid github Token and Gist available to make it work properly.\r\n\r\nSelect Command **\"Sync : Advanced Options \u003e Toggle Auto-Upload on Settings Change\"** command to Turn ON / OFF the auto-upload.\r\n\r\n### Toggle Auto Download\r\n\r\nAuto Download is **disabled by default**. It will sync all the setting by default when the editor starts.\r\nPlease make sure you have valid github Token and Gist available to make it work properly.\r\n\r\nSelect Command **\"Sync : Advanced Options \u003e Toggle Auto-Download On Startup\"** command to Turn ON / OFF the auto download.\r\n\r\n### Toggle Force Download\r\n\r\nForce Download is **disabled by default**. By default, extension won't download the latest settings if you already have the latest downloaded version, but sometimes when you delete some extension locally and don't upload the settings it will still show that you have latest versions by date or time checks, by turning this ON it will always download the cloud settings on startup.\r\n\r\nPlease make sure you have valid github Token and Gist available to make it work properly.\r\n\r\nSelect Command **\"Sync : Advanced Options \u003e Toggle Force Download\"** command to Turn ON / OFF the force download.\r\n\r\n### Toggle Force Upload\r\n\r\nForce Upload is **disabled by default**. By default, extension won't upload the settings if the gist has newer or identical content. By turning this ON it will always upload without checking for newer settings in the gist.\r\n\r\nPlease make sure you have valid github Token and Gist available to make it work properly.\r\n\r\nSelect Command **\"Sync : Advanced Options \u003e Toggle Force Upload\"** command to Turn ON / OFF the force upload.\r\n\r\n### Toggle Summary\r\n\r\nSummary is **enabled by default** which shows all files and extensions that are added or deleted on a single page.\r\nYou may turn it off in order to make a upload and download process clean and quiet.\r\n\r\nSelect Command **\"Sync : Advanced Options \u003e Show Summary Page On Upload / Download\"** command to Turn ON / OFF the auto download.\r\n\r\n\r\n### Custom Sync\r\n\r\nSettings Sync allows you to sync the files other from `User` folder. For example, your workspace settings and much more. Its upon you to utilize the full potential of Settings Sync across your machines or your teams machines. Read about custom sync [here](https://github.com/shanalikhan/code-settings-sync/wiki/Custom-Sync).\r\n\r\n### Sync Pragmas\r\n\r\nYou can even manage which settings you want to ignore from being upload or download. Settings Sync even allows you to manage your `home` and `office` computer specific settings even OS related settings in single GitHub Gist. Read details about [Sync Pragmas here](https://github.com/shanalikhan/code-settings-sync/wiki/Sync-Pragmas).\r\n\r\n### Share Settings Across Teams \u0026 Users\r\n\r\nIf you are looking to share your settings. Read the details [here](https://dev.to/shanalikhan/how-to-share-your-visual-studio-code-settings-and-extensions-39k). Settings Sync needs to create new Public GitHub Gist to share your settings with other users.\r\n\r\n### Troubleshooting\r\n\r\nIf you ever get into problem while setting up the Settings Sync. You can check our troubleshooting guide that cover those scenarios [here](https://github.com/shanalikhan/code-settings-sync/wiki/Troubleshooting), you can also add your solution there if its not available there to help other users.\r\n\r\n## How To Contribute\r\n\r\nYou can contribute in different ways. Read the details [here](https://github.com/shanalikhan/code-settings-sync/blob/master/CONTRIBUTING.md)\r\n\r\n**Fix and Earn** - You can also earn money by fixing the issues - Check the issues under bounty program [here](https://github.com/shanalikhan/code-settings-sync/labels/bounty).\r\n\r\n## Credits\r\n\r\n### Contributors\r\n\r\nThank you to all the people who have already contributed to Settings Sync!\r\n\u003ca href=\"https://github.com/shanalikhan/code-settings-sync/graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/code-settings-sync/contributors.svg?width=890\" /\u003e\u003c/a\u003e\r\n\r\n### Backers\r\n\r\nThank you to all our backers! [[Become a backer](https://opencollective.com/code-settings-sync#backer)]\r\n\r\n\u003ca href=\"https://opencollective.com/code-settings-sync#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/code-settings-sync/backers.svg?width=890\"\u003e\u003c/a\u003e\r\n[\u003cimg src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif\"\u003e](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=4W3EWHHBSYMM8\u0026lc=IE\u0026item_name=Code%20Settings%20Sync\u0026item_number=visual%20studio%20code%20settings%20sync\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)\r\n\r\n### Sponsors\r\n\r\nThank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/code-settings-sync))\r\n\r\n## [Contributors](https://github.com/shanalikhan/code-settings-sync/graphs/contributors)\r\n\r\n# [Release Notes](https://shanalikhan.github.io/2016/05/14/Visual-studio-code-sync-settings-release-notes.html)\r\n\r\n# License\r\n\r\n[![Version](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/shanalikhan/code-settings-sync/blob/master/LICENSE)\r\n\r\n[![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)\r\n\r\n[![Installs](https://vsmarketplacebadge.apphb.com/installs/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)\r\n\r\n[![Ratings](https://vsmarketplacebadge.apphb.com/rating/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)\r\n\r\n[![Master course](https://img.shields.io/badge/Supported%20by-VSCode%20Power%20User%20Course%20%E2%86%92-gray.svg?colorA=444444\u0026colorB=4F44D6)](https://t.co/8BEMyhpKU5?amp=1)\r\n\r\n\u003ca href=\"https://join.slack.com/t/codesettingssync/shared_invite/enQtNzQyODMzMzI5MDQ3LWNmZjVkZjE2YTg0MzY1Y2EyYzVmYThmNzg2YjZkNjhhZWY3ZTEzN2I3ZTAxMjkwNWU0ZjMyZGFhMjdiZDI3ODU\"\u003e\r\n\u003cimg src=\"https://shanalikhan.github.io/img/slack.PNG\" alt=\"Drawing\" style=\"width: 150px;\"/\u003e\r\n\u003c/a\u003e\r\n","funding_links":["https://github.com/sponsors/shanalikhan","https://opencollective.com/code-settings-sync","https://issuehunt.io/r/code-settings-sync","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=4W3EWHHBSYMM8\u0026lc=IE\u0026item_name=Code%20Settings%20Sync\u0026item_number=visual%20studio%20code%20settings%20sync\u0026currency_code=USD\u0026bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted","https://opencollective.com/code-settings-sync/order/3848"],"categories":["TypeScript","Awesome Tools","vscode-extension"],"sub_categories":["IDEs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanalikhan%2Fcode-settings-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshanalikhan%2Fcode-settings-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanalikhan%2Fcode-settings-sync/lists"}