Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>SyncbuddyNew to Visual Studio Code? Get it now.
Syncbuddy

Syncbuddy

kaanlogic

|
1 install
| (0) | Free
Sync up your VSCode resources like settings, extensions, keybindings, snippets, and any custom files and directories, across instances and machines using a common shared file location
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Syncbuddy

Syncbuddy enables you to sync up your Visual Studio Code resources like settings, extensions, keybindings, snippets, and any custom files and directories, across instances and machines using a common shared file location (e.g., a SMB NAS-share).

Supports native Visual Studio Code as well as forks like Cursor, VSCodium, Windsurf or even remote environments like code-server.

Syncbuddy Demo

Quick Start

  1. Set your repository location where Syncbuddy should sync to and from.

    Syncbuddy: Other > Set Repository

  2. Create your first profile.

    Syncbuddy: Profile > Create

  3. Push your resources.

    Syncbuddy: Profile > Push

  4. You can now setup Syncbuddy on your second machine. Just define the repository (Step 1) first and then checkout the profile.

    Syncbuddy: Profile > Checkout

Main Features

Full profile system with inheritance

Syncbuddy ships with a full-featured profile system built around multi-level inheritance. Instead of duplicating configuration across many profiles, you can define a base profile (e.g. base, datascience, frontend) and have child profiles inherit and override only the parts that differ.

  • Settings are deep-merged — child values override parent values at any nesting level, while unknown keys are preserved from ancestors.

  • Extensions use union semantics — the install list is the union of all ancestors' entries. Children can also add exclude entries to remove extensions inherited from parents.

  • Custom Assets are merged by override — if a child defines a mapping for a path, it overrides the mapping from its ancestors.

  • Resources (settings, extensions, keybindings, snippets, custom assets) use logical-OR — if any ancestor enables a resource, it is considered enabled for the resolved profile.

Custom syncing of files and directories

Beyond the built-in VSCode state (settings, extensions, keybindings, snippets), Syncbuddy lets you sync arbitrary files and directories via the custom assets system. So you can also sync up assets from more elaborate extensions, which also write into the users home directory for example.

On push, the referenced files/directories are copied from your local machine into the profile's customassets/ storage folder in the repository. On pull, they are copied back out to their original paths. Syncbuddy uses a mirror strategy — if a target already exists it is replaced outright to ensure your local state matches the profile exactly.

Because paths are stored as normalised strings, the same custom assets entry works across different platforms (e.g. a profile created on Linux can pull custom assets on Windows, with paths adjusted automatically).

Optional syncing and overriding of extensions via VSIX files

Syncbuddy treats extensions as first-class citizens of every profile. When pushing extensions you can choose per-extension whether it should be installed from the VSCode or Open VSX Registry Marketplace (depending on the environment) or bundled as a custom VSIX file.

Custom VSIX syncing is valuable for situations where an extension is not published on the marketplace, like private or custom forked extensions may be.

Commands

  • Syncbuddy: Profile > Push – Save the current VSCode state to the active profile in the repository. Like git push.
  • Syncbuddy: Profile > Pull – Refresh the active profile from the repository. Like git pull.
  • Syncbuddy: Profile > Checkout – Switch to a profile: resolves its inheritance, applies it to VSCode, and sets it as active. Like git checkout.
  • Syncbuddy: Profile > Create – Create a new profile; You also can define inheritance from other profiles here.
  • Syncbuddy: Profile > Remove – Deletes the current profile.
  • Syncbuddy: Custom Assets > Add Files – Add custom files to the current profile.
  • Syncbuddy: Custom Assets > Remove Files – Remove custom files from the current profile.
  • Syncbuddy: Custom Assets > Add Directories – Add custom directories to the current profile.
  • Syncbuddy: Custom Assets > Remove Directories – Remove custom directories from the current profile.
  • Syncbuddy: Other > Set Repository – Define your repository path on the filesystem.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft