-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smart loading of extensions based on manifest #39272
Comments
This seems similar #40109:
|
I'm just a user, but it seems pretty much the same as this, right? Extension loading scoped to a specific project |
It is. Sorry, I thought you where from VS team. |
Any updates on this or any other issue related ? |
I work on 5 computers in 3 locations. I am a front-end developer so some projects are in React, some in Angular, some in Vue, some in Node, sometimes it none of the above, and sometimes it is just pure JavaScript. Each project needs different extensions and has conflicts with others. And the problem is: on all computers I work on all projects. And when I get new laptop, I have to set up everything again :( This sucks. I know there is already working extensions.json file in .vscode folder that supplies "Recommended" extensions list. Please extend its use. I know that forcing installation of extensions is dangerous and it is a bad idea, BUT, and add by default option in vscode not to follow the extensions.json, BUT, |
Seems to me the obvious necessity of something like profiles for extensions. Just my opinion, thanks for the great work made with this editor. Sorry if i made some english language mistakes, but is not my natural language. |
And there should be a "no workspace profile". It's so annoying to load all extensions when opening a *.txt file. |
Note: crosposted here Could we not also base this upon the language as well. For example, if you open a folder and there are .csproj and fs files then all the c#/.net extensions load and then also the f# extensions as well? A lot of the options that have been discussed in similar issues I think would be a lot easier to deal with if they took into account the languages in the folder that is being worked on. Some example options that I have thought of could look something like one or more options below: {
// language settings option
"[python]": {
"editor.defaultFormatter": "ms-python.python",
"editor.rulers": [
88
],
"extensions.activation": [
"magicstack.magicpython"
"ms-python.python"
"njpwerner.autodocstring"
"frhtylcn.pythonsnippets"
]
},
// global whitelist option
"extension.global.activation": [
"akamud.vscode-theme-onelight",
"salbert.copy-text"
],
// global blacklist option
"extension.global.deactivation": [
"akamud.vscode-theme-onelight",
"salbert.copy-text"
],
// per extension whitelist option
"extension.global.activation": {
"akamud.vscode-theme-onelight": [
"python",
"markdown"
],
}
} I also like the idea of using user defined extension groups that can be used instead of the more verbose way that I show above as mentioned in this post. Others have suggest similar solutions or discussed this in comments [here],(#40239 (comment)), here, here, here, here and many more. |
Any further updates on this? |
Hi Friends, are there any plans to support this feature? I also work on may projects, many languages/stacks... vscode has become my ide for everything but it is a pain to wait for java language server to start when I open a c++ project! so I have to disable many things per workspace manually. It would be great to have some way to switch between user defined preconfigured vscode profiles. |
What I would like is a variation of the above. I would like to set the extensions to be enabled for a workspace in the vscode settings for that workspace. That way I could have all the extensions that I use installed, but have all the ones that don't apply to the current workspace disabled. This would prevent some extensions from conflicting with each other. An example is vetur and volar for vue code. I might need to use vetur for past projects, but I am using volar for all current projects. |
@julie777 as a workaround you may be interested in the technique I described at #120351 (comment) |
In our team we sync the Some plugins we use clash and break VSCode, so to avoid it we need to Now I need to make sure everyone does that manually... If this setting can just be saved in That's my 2 cents on this : ) |
I found a way in cli:
This way you can start your project from the command line and disable unwanted extensions. |
this would be a great feature I am proposing another feature #137091 that could benefit from this feature. |
Dup of #347 |
Extensions part of vscode requires overhaul; and extension.json manifest files might be great way to fix this.
It would be great if it were possible to add manifest of extensions in project settings. So when project or workspace is open; vscode loads only extensions mentioned in either project level or workspace level or user level.
If the extension is not yet present; vscode could pulls it from internet but only load the one required as per extension.json manifest.
This will improve the performance of vscode as user if choose can put majority of extensions need for project in project setting i.e it goes into git repo itself. This will also create consistent dev experince as they are no required to manually install recommend extensions.
This approach automatically fixes setting sync issue; as all of things about vscode is manifest in files which can in turn life in github.
Thx
The text was updated successfully, but these errors were encountered: