Settings Sync #6569
Replies: 18 comments 7 replies
-
VS Code's setting sync has worked out pretty well for me, really smooth, completely forget that it's there, but I never liked that my settings were stored somewhere privately; I liked my settings being stored in a location I had control over. That might be a bit biased since I came from Atom prior and having to sync my settings with a GitHub Gist. |
Beta Was this translation helpful? Give feedback.
-
What I'd like to see: Sync Settings has four commands: backup to remote, restore from remote, create profile, and switch profile. They all look at a git repository in any code host (github/gitlab/bitbucket, etc) Sync Settings prompts you for that repository's URL on first launch, and automatically gets/sets up an access token if needed (if the repo is private). Then it downloads that repo and uses it to set up the editor. Inside the repo is plaintext settings files in folders. Each folder is a complete configuration setup (settings + keybinds + extensions/packages + whatever else) and the folder name is the name of a profile (e.g. work, writing, rust, etc.). If exactly one folder exists, it is treated as the default for all operations. The default is otherwise the folder named If you have multiple profiles, you can relaunch the editor with a different profile using the switch profile command. |
Beta Was this translation helpful? Give feedback.
-
I really like the "settings repository" plugin for CLion. I point it to a git repo and it does the rest. I appreciate the simplicity of the VScode sync, but it's also a bit shady isn't it. (Yes, I'm aware of the JetBrains sync plugin that works similarly to VSCode as well). The reason I prefer settings sync that's sort of built-in vs a third party is two parts, the first part is trust, the second part is support. By trust I mean, I'm perhaps a paying customer of Zed and I can trust that the feature is implemented by the company and I'm trusting a single entity in this situation (I don't have to worry about a rogue update to the extension that starts to siphon off secrets from my computer). By support I mean, since it's a tier 1 product feature and so will support sync'ing all relevant settings, extensions, and themes. I don't have to worry about it getting abandoned (like I worry about most of the Sublime ecosystem). |
Beta Was this translation helpful? Give feedback.
-
I would be happy even to be able to change the location of the settings json file to a shared folder (dropbox or google drive or apple cloud or whatever) to be able to keep the settings in sync between my two machines. If we adopted this for my team at work, it would be great to have the option of sharing settings with the whole team (with the choice of using the team shared settings or not). |
Beta Was this translation helpful? Give feedback.
-
is there any reason why settings sync couldn't happen via source control, like other dotfiles? |
Beta Was this translation helpful? Give feedback.
-
settings and keymap. |
Beta Was this translation helpful? Give feedback.
-
whats the latest update in syncing your settings, extensions, etc across multiple devices right now? Thank you! |
Beta Was this translation helpful? Give feedback.
-
I'd really love to see zed smashing but lacking little features such as this makes me go back to intelli... |
Beta Was this translation helpful? Give feedback.
-
What about manually syncing |
Beta Was this translation helpful? Give feedback.
-
Hell yeah, settings sync will save us from doing custom settings over and over again |
Beta Was this translation helpful? Give feedback.
-
Just adding my voice to the desire for settings sync :-) |
Beta Was this translation helpful? Give feedback.
-
I sync my dotfiles, no need for settings sync. |
Beta Was this translation helpful? Give feedback.
-
+1 the need, coming from emacs and VS Code, but for me personally it'd be enough to just have a toggleable auto-push-on-save (debounced for things like theme switching) of my settings to a repo I select. That's not something Zed necessarily needs to do either, but could be a neat quality of life thing. Like many devs, I'm very particular about my setup and I work across a few machines. I have a "set up all my shit" repo for init'ing on new machines specifically to help with this. Currently just manually pushing my config to that repo 🤷 |
Beta Was this translation helpful? Give feedback.
-
Can we at least get anything that is not a static configuration removed from |
Beta Was this translation helpful? Give feedback.
-
For the time being I'm "syncing" my I was able to get what I need (sync keymaps, editor settings, AI conversations, and basically everything in rsync -av --exclude='.tmp*' "$ZED_SOURCE_DIR/" "$ZED_DEST_DIR/" Here's a gist with the script I use in case it's helpful to anyone: https://gist.github.com/devdumpling/206cddd544be229ef27af50ce7f80c29 |
Beta Was this translation helpful? Give feedback.
-
I use home-manager in Nix to manage the all configuration of a computer in a single file. Home-manager supports various editors (Emacs, VS Code, etc.). The ideal option for Nix users is exposing all settings in I currently use home-manager to effortlessly recreate desktop and development environments across several computers (this works on Mac and Linux). |
Beta Was this translation helpful? Give feedback.
-
One issue that I just noticed when going for the standard solution of syncing settings through a git repository is that it clashes with the Remote Development feature in some cases. This happens because SSH connections, which might be different for different hosts, are stored in the regular settings file. In my case, I use two separate workstations, one at home and and one at work, which both should be able to remote into a third computer, my work server. The settings for doing so are different for the two workstations though, so syncing the settings between them in that way would ensure that one is always broken. I also remote into my home workstation from my work one, but not the other way around, which further adds to the difference between those settings files. This might be a corner case when it comes to the use of the Remote Development feature, but I would guess that I'm not the only one it applies to. The (conceptually) simple solution to this issue would of course be to separate out the SSH connections to their own configuration file, that one could choose to sync or not depending on ones needs. |
Beta Was this translation helpful? Give feedback.
-
We've had a few issues come up asking us to add a settings sync feature to Zed:
While this is not currently on our roadmap, and it will likely not be added anytime soon, I'm interested to hear what all users would want from this sort of a feature. What all would you want synced and restored between different computers running Zed?
Beta Was this translation helpful? Give feedback.
All reactions