shanalikhan / code-settings-sync

🌴πŸ’ͺ Synchronize your Visual Studio Code Settings Across Multiple Machines using GitHub GIST πŸ’ͺ🌴
https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
MIT License
4.01k stars 390 forks source link

Buggy behaviour when working with remote environments #1057

Open xmatthias opened 4 years ago

xmatthias commented 4 years ago

πŸ› Describe the bug
When uploading settings from a remote environment, local extensions are missing. When then using download settings in a local project, the previously installed settings will be removed. (similar issue to #979, but the other way around)

🌴 Visual Studio Code Version : 1.38.1 🌴 Code Settings Sync Version : 3.4.3 🌴 Standard or Insiders : Standard 🌴 Portable or Installed : installed 🌴 OSS or Official Build : Officila build 🌴 Operating System : windows 10 🌴 Occurs On: Upload 🌴 Proxy Enabled: Irrelevant

πŸ“° To Reproduce Steps to reproduce the behavior:

  1. Upload settings from "local" project
  2. Check gist
  3. Open "remote" / WSL project
  4. Upload settings
  5. check gist differences

πŸ’ͺ Expected behavior When working in both local and remote environments, the local extensions should be kept in the gist (they also remain installed within VSCode), irrelevant if the opened project is a local one, or a WSL one.

potential workaround Allow configuring different Gists per environment, so we can have 1 gist for "local" - one gist per "remote" development environment (WSL / SSH / Docker).

Extended description

When i use "Upload Settings" from a local environment, the gist contains all local plugins.

If i however open a remote project, and run "Upload Settings" - then all locally installed plugins (python, for example) are missing in the gist. I assume that's because they are inactive at that moment - however i think this is a major bug in settings-sync.

I don't mind having the remote-extensions missing (as pointed out in #979 )- but the local settings / configuration should not be messed up by running "upload" from the wrong project. If i would run download subsequently in a local project, my local plugins would be removed.

Screenshots of the gist diffs:

Upload from Local project

image

Upload from remote project: image

rfgamaral commented 4 years ago

As a workaround we can add the following to the remote Workspace configuration:

{
    "sync.syncExtensions": false
}

The downside is that you have to do this for all different remote workspaces which can be a PITA if you have many...

valeryan commented 4 years ago

This is also causing issues for me.

ladyrick commented 4 years ago

This is also causing issues for me.

hadim commented 4 years ago

I have the same issue and had to manually modify the git of the gist settings to fix me config.

jonathan-dilorenzo commented 4 years ago

I'm having the same problem, specifically with the vscode WSL remote.

For me, I have the same extensions installed locally, but disabled, though I don't know if this is everyone's experience. If so, a quick workaround might be to upload the installed extensions instead of just the enabled ones?

ahrbe1 commented 3 years ago

Just bumped into this also. Realized that syncing while connected to a remote removed most of my extensions from the gist, which then sync'd to my other installations.