Skip to content
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

Profile inheritance #173473

Closed
notskm opened this issue Feb 5, 2023 · 4 comments
Closed

Profile inheritance #173473

notskm opened this issue Feb 5, 2023 · 4 comments
Assignees
Labels
*duplicate Issue identified as a duplicate of another issue(s)

Comments

@notskm
Copy link

notskm commented Feb 5, 2023

Profiles should be able to inherit settings, extensions, and keybinds from other profiles. Specifically, it would be useful to inherit from the default profile.

If this feature already exists, I have not found it.

Problem

Imagine I have multiple profiles. These could be a home and work profile. They could be language-specific profiles like C++, Python, and Javascript. Whatever the case is, I have multiple profiles.

I may choose to install VSCodeVim. Obviously, this extension would be useful to have across all my profiles. Furthermore, the settings related to this extension are likely to be the same across all my profiles.

As it currently stands, I must install VSCodeVim in each profile separately and copy any settings to each profile. If, in the future, I decide to change my VSCodeVim settings, I must copy those changes to each profile. This is a major pain. The problem only gets worse with each extension I wish to share across profiles.

VSCode attempts to solve this issue by allowing you to create a profile by using another as a base. This is insufficient because any changes made to the original profile are not reflected in the new profile.

Solution

Introduce a per-profile setting to inherit from another:
"inherit-profile": "default"

This solution comes with drawbacks. The inheritance graph may contain cycles and may be many levels deep, leading to unexpected behavior on the user's end. This can be solved by only allowing inheritance one level deep. I do not see the need for a profile to inherit from a profile that inherits from another profile.

Another option is to only allow a new profile to inherit from the default profile. This results in a loss in flexibility, but is a simpler solution.

@metal-gabe
Copy link

Adding my .02¢, the main reason I would like profile inheritance is so that my keyboard shortcuts, global state, and the main settings (i.e. not extension specific) would carry over to each profile.

I want these to be consistent across all profiles and don't want to have to update 1 change across X number of profiles.

@gjsjohnmurray
Copy link
Contributor

See #156144

@sandy081
Copy link
Member

sandy081 commented Feb 6, 2023

/duplicate

@vscodenpa vscodenpa added the *duplicate Issue identified as a duplicate of another issue(s) label Feb 6, 2023
@vscodenpa
Copy link

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.

Happy Coding!

@vscodenpa vscodenpa closed this as not planned Won't fix, can't repro, duplicate, stale Feb 6, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Mar 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
*duplicate Issue identified as a duplicate of another issue(s)
Projects
None yet
Development

No branches or pull requests

5 participants