Latest Threat ResearchGlassWorm Loader Hits Open VSX via Developer Account Compromise.Details
Socket
Book a DemoInstallSign in
Socket

Sync Settings Pro

Package Overview
Maintainers
0
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry
This package was compromised as part of the ongoing "GlassWorm v2" supply chain attack.

Affected versions:

0.18.3
View campaign page

Sync Settings Pro

Effortlessly synchronize, back up, and restore your VS Code settings, keybindings, extensions, and profiles across devices.

unpublished
Open VSX
Version
0.18.3
Version published
Maintainers
0
Created
Source

Sync Settings
Sync Settings Effortlessly synchronize and manage your editor's settings, extensions, profiles, and more across all your devices.
Works with VS Code, Theia, and compatible editors.
License: MIT VS Marketplace Open VSX Ko-fi Liberapay Paypal

☑️ Quick Start

Step-by-step example

  • Open repository settings:

    # Open Command Palette and select:
    Sync Settings: Open the repository settings
    
  • Upload your settings:

    # Upload user settings to your repository:
    Sync Settings: Upload (user → repository)
    
  • Download settings on another device:

    # Download repository settings to your user setup:
    Sync Settings: Download (repository → user)
    

⚙️ Configuration Overview

Sync Settings uses a settings.yml file for initial configuration:

hostname: "my-laptop"       # Optional: device name
profile: main               # Required: profile name
repository:
  type: git                 # Required: file, git, rsync, or webdav
  url: "https://github.com/username/repo.git"   # Example for Git

Example: Rsync Repository

repository:
  type: rsync
  host: "my.server.com"
  path: "/backup/vscode-settings"

Example: WebDAV Repository

repository:
  type: webdav
  url: "https://webdav.server.com/remote.php/webdav/vscode-settings"
  username: "yourUser"
  password: "yourPassword"

Repository Types

TypeDescription
fileStore config locally
gitUse local/remote Git repo (GitHub, GitLab)
rsyncSync via rsync/SSH to remote dir
webdavUse a WebDAV server

🔗 Resource Sync

You control what to sync in your settings.json:

{
  "syncSettings.resources": [
    "extensions",
    "keybindings",
    "settings",
    "snippets",
    "tasks",
    "uiState"
  ],
  "syncSettings.ignoredExtensions": [
    "theme-vintage",
    "company.plugin"
  ],
  "syncSettings.ignoredSettings": [
    "editor.fontFamily",
    "workbench.colorTheme"
  ],
  "syncSettings.keybindingsPerPlatform": true
}

Example: Only Sync Extensions & Settings

"syncSettings.resources": [ "extensions", "settings" ]

📄 External Files

You can also sync your custom files. Add them in settings.json:

"syncSettings.additionalFiles": [
  "~globalStorage/my-app-data.json",
  "~/.bash_aliases",
  "~/Documents/my_note.md",
  "~editorStorage/plugin.backup"
]

Supported path prefixes:

PrefixMaps to...
~/Home directory
~editorStorage/Extensions folder
~globalStorage/User global state location

⚠️ Syncing settings.yml is not required and will result in an error!

Example: Only Sync a Project File

"syncSettings.additionalFiles": [
  "~/src/project/settings.local.json"
]

💾 Extensions Management

If your profile's data/extensions folder contains a .vsix file, it will take priority for extension installation.

Reveal the extensions directory:

Sync Settings: Reveal the profile in the file explorer

Example folder structure:

data
└── extensions
    ├── ms-python.python-2024.5.123456789.vsix
    └── ms-vscode.cpptools-1.17.4.vsix

🗂 Profiles & Inheritance

Profiles store separate setups for different use-cases.
You can create or switch any time.

Creating a new profile

Sync Settings: Create a new profile

Switching profiles

Sync Settings: Switch to profile

Example: Profile Inheritance

Profiles can inherit (extend) resources from another:

profile: dev
extends:
  - base
  - work

💡 Essential Commands

  • Open repository settings
  • Upload/download settings
  • Review configuration differences
  • List missing extensions
  • Manage profiles (create, delete, switch)
  • Reveal profile in explorer
  • Remove all local user settings and extensions (⚠️ destructive!)
Show all commands: Command Palette
Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Type: Sync Settings

🛠 Advanced Features

JSONC Conditional Attributes

Enable settings for specific platforms or editor versions:

{
  // #if(os="mac")
  "editor.fontWeight": "300",
  // #elif(os="windows")
  "editor.fontWeight": "400",
  // #else
  "editor.fontWeight": "500"
  // #endif
}

Hooks – Run Shell Scripts

Add hooks to run scripts before/after sync in settings.yml:

hooks:
  beforeUpload: "sh ./pre-upload.sh"
  afterDownload: "npm run local-setup"

Crons – Automate Tasks

Schedule tasks using cron syntax in settings.json:

"syncSettings.crons": {
  "review":   "0 * * * *",    // Every hour
  "download": "0 9 * * *",    // 9:00 AM daily
  "upload":   "0 17 * * *"    // 5:00 PM daily
}

Remote Mode

Note: Remote sync only supports extensions.
This is useful for Codespaces/WSL/Remote SSH.

Eclipse Theia Support

Partial support: settings, keybindings, tasks, and additional files.
Extensions sync is not available in Theia.

❤️ Support & Contribute

Ko-fi Liberapay PayPal

Thank you for using Sync Settings!

Keywords

__web_extension

FAQs

Package last updated on 22 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts