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.02k stars 391 forks source link

Considering disabled extensions #143

Open MarkyMarkNo1 opened 7 years ago

MarkyMarkNo1 commented 7 years ago

Issuehunt badges

Visual Studio Code Version : 1.7.1 Code Sync Settings Version : 2.3.8 Operating System : W10 Occurs On: [Upload / Download] Proxy Enabled: No

As of version 1.7, VSCode introduced _disabled extensions_.

We're excited to find these supported by this beloved plugin soon, hopefully! ;) Thank you!


IssueHunt Summary ### Backers (Total: $120.00) - [issuehunt issuehunt](https://issuehunt.io/u/issuehunt) ($120.00) #### [Become a backer now!](https://issuehunt.io/r/shanalikhan/code-settings-sync/issues/143) #### [Or submit a pull request to get the deposits!](https://issuehunt.io/r/shanalikhan/code-settings-sync/issues/143) ### Tips - Checkout the [Issuehunt explorer](https://issuehunt.io/r/shanalikhan/code-settings-sync/) to discover more funded issues. - Need some help from other developers? [Add your repositories](https://issuehunt.io/r/new) on IssueHunt to raise funds. --- IssueHunt has been backed by the following sponsors. [Become a sponsor](https://issuehunt.io/membership/members)
MartinSGill commented 7 years ago

Added some thoughts @ https://github.com/Microsoft/vscode/issues/15466#issuecomment-260871236

jiming commented 7 years ago

I installed a lot of extentions. And some of them are not used in my daily working. Therefore to make vs code work fast, I disabled them. When I needed them I will enable them temporarily, and disable them afterwards.

I noticed that disable extension are not synced. I hope I can sync those disabled extension as well, since they are useful as well.

Thanks a lot!

Jiming

shanalikhan commented 7 years ago

to make vs code work fast, I disabled them. When I needed them I will enable them temporarily, and disable them afterwards.

As for now, its the limitation from code itself, in the issue referenced. But in upcoming versions, im going to introduce the the hot switch dev environment options, you can have multiple gist but can switch to any other gist and that extensions will be installed

https://github.com/shanalikhan/code-settings-sync/issues/308

Fred-Vatin commented 7 years ago

code --list-extensions command will show all your extensions, included the disabled ones.

ghost commented 7 years ago

@shanalikhan Can I use the settings to choose to upload disabled or enabled plugins?

mastrauckas commented 7 years ago

@shanalikhan Just wondering, do you just ignore disabled extensions or does code api just not tell you about disabled extensions?

zihe-xu commented 7 years ago

Now there is no way to achieve this function ?

mditrolio commented 6 years ago

@mastrauckas It sounds like the latter.

shanalikhan commented 6 years ago

No, Code API dont provide information regarding extension either its disabled / enabled. Getting information is not useful by getting by any mean (CLI) unless Settings sync disable extension automatically after downloading in other code machines which currently not supported by code

image https://code.visualstudio.com/docs/editor/extension-gallery#_command-line-extension-management

This issue is pending from :

  1. https://github.com/Microsoft/vscode/issues/55363
  2. https://github.com/Microsoft/vscode/issues/15466
mastrauckas commented 6 years ago

@shanalikhan Why not sync extension that are enabled and disabled ? I much rather have my extensions synced and have to disable manually on the other machine than lose them completely.

lhnrd commented 6 years ago

Really interested in seeing this feature. @shanalikhan can you elabore more on the code limitation?

Is it possible to list and install everything (even the disabled ones)? I'd really prefer this then maybe losing some extensions.

daltonhildreth commented 6 years ago

If you can get the full list via code --list-extensions and the the list of enabled extensions through extensions.json or the API, can't you just subtract the latter set from the former set to get the disabled list? Then you can selectively disable the correct extensions. This could be a workaround until the API is nicer. (Ideally an issue on that could be opened on the code repo.)

A simpler approach would be to just get the full list (via --list-extensions), disable all of them, and then selectively enable them based on what you get from the API or extensions.json.

jcostello commented 5 years ago

Any plan for releasing something to address this?

shanalikhan commented 5 years ago

As there is no official support, the only way seems is the approach mentioned by @fiblit

There are no exact release plan for this issue but I'm open for PR though, feel free to send. I will release new version with it.

GammaGames commented 5 years ago

I would appreciate it not uninstalling disabled extensions, I normally have some extensions disabled on my work machine but now I have to leave them enabled so I don't lose them at home.

aniforprez commented 5 years ago

+1 on it at least not uninstalling disabled extensions. It's a real chore managing extensions between multiple machines right now. Eg. I only do Python work on my work laptop, I only do JS on my personal laptop. I'd like to disable JS extensions on my work and Python extensions on my personal laptop. Right now everything being enabled makes startup that much slower

IssueHuntBot commented 5 years ago

@issuehunt has funded $120.00 to this issue.


shanalikhan commented 5 years ago

https://github.com/microsoft/vscode/issues/15466 Please upvote and comment over there. Using API instead of CLI is more feasible.

Settings Sync use API to install/uninstall all the extensions from the v3.3.0

MCFreddie777 commented 5 years ago

Yeah, I also code both angular and react. I usually have disabled extensions of either one and enable only for workspace... This extension did not sync my disabled extensions

kid1412621 commented 5 years ago

REALLY need this, I use vue and java, they're different env set. Every time switching is painful.

benkoska commented 5 years ago

I can do this. Please assign me

shanalikhan commented 5 years ago

We need the API from code itself to allow Settings Sync to enable / disable extensions.

cc : @sandy081

daltonhildreth commented 5 years ago

@shanalikhan, is there something that's changed since I suggested two feasible approaches/workarounds that would make them unfeasible to do? To my understanding having the API from code is not needed, even if it is preferable.

sandy081 commented 5 years ago

@shanalikhan This requires exposing the internals which can be flux.

Hence as mentioned in this issue - https://github.com/microsoft/vscode/issues/78966, we are planning to expose an API to an extension to register its backend data store and through which VS Code will synchronise user data.

shanalikhan commented 5 years ago

To my understanding having the API from code is not needed, even if it is preferable.

@fiblit Yes i can understand, but as per discussion with @sandy081 on https://github.com/microsoft/vscode/issues/78966 and https://github.com/microsoft/vscode/issues/78869 the official support is already planned and on its way that will help Settings Sync to get such information. I suggest to wait rather then using custom CLI approaches.

rstriquer commented 4 years ago

Reporting only to register (as it may be interesting to know more scenarios and how this function is important to some)!

Visual Studio Code Version : 1.45.1 Code Sync Settings Version : 3.4.3 Operating System : ubuntu 18.04.4 Occurs On: [Upload / Download] Proxy Enabled: No PS: I have another instalation on a win10 machine.

I program in several languages, Java, C++, Python, PHP, bash. I set up a good environment for PHP, when I started a job in Java I set up the environment and disabled the plugins in the worksplace. It was alright till I found PHP environment in a workspace missed some plugins afther the sync. It took me a day or so to understand what was up. Therefore I ask, please, add workspace disabled plugins to the sync.

If you need some help investigating or whatever you can call me, I'll do my best to help.

fredrikaverpil commented 3 years ago

It seems that when I enable extensions in WSL2, they get disabled locally automatically. This means any extension which is enabled in WSL2 won't sync over.