johnpapa / vscode-peacock

Subtly change the color of your Visual Studio Code workspace. Ideal when you have multiple VS Code instances, use VS Live Share, or use VS Code's Remote features, and you want to quickly identify your editor.
MIT License
1.03k stars 115 forks source link

Allow color settings to save to Profile, instead of workspace. #517

Open AferraroMezrah opened 1 year ago

AferraroMezrah commented 1 year ago

Now that Profiles have left beta, I think it's reasonable to allow peacock settings to be saved based on profile and not just workspace.

I think it would be best to have peacock save the color setting to the active profile that is running.

Given the original purpose of peacock is project based colors I can see why you might want to leave it alone. But I think profiles mirror the workspace spirit in that it can be different for any number of projects.

For us, when we share workspace files to make sure the entire team is using the same settings for certain connections/extensions, not everyone wants a color change.

johnpapa commented 1 year ago

Thank you @AferraroMezrah for creating this issue!

Grant-Keiter-FHR commented 1 year ago

I would second this issue, I continually have to set and remove peacock settings in the projects I work on where workspaces or settings files are tracked.

robokozo commented 1 year ago

Glad to see this has been requested! I'd hate to force my questionable color choices on others :)

thoroc commented 1 year ago

Would that be covered by https://github.com/johnpapa/vscode-peacock/issues/7 ?

noisy commented 1 year ago

I would love to see a progress on that. Settings saved to workspace is a deal-breaker for me.

jadnhm commented 7 months ago

I think @thoroc is right this is a duplicate of https://github.com/johnpapa/vscode-peacock/issues/7

thoroc commented 7 months ago

Thanks for the ping. I completely forgot all about that one. :)

AferraroMezrah commented 7 months ago

@thoroc #7 was written before profiles though. I think it makes sense to include that information on #7, although activity has been slow on that request. Or keep the dedicated profiles request here. Either way!

jadnhm commented 7 months ago

@AferraroMezrah Please read my summary of #7 here https://github.com/johnpapa/vscode-peacock/issues/7#issuecomment-1921946816

You can see that the 'location where the colour information is saved' is dependant upon VSCode itself and unless someone can figure out an amazing hack there is not much https://github.com/johnpapa/vscode-peacock/ can do about it, unfortunately

ncamaa commented 4 months ago

I think this is a crucial feature for people who work for organizations. Maybe a hack that adds a hook for when the project is opened, and also some hooks before and after committing...

jadnhm commented 4 months ago

@ncamaa I'm not sure I understand what you're suggesting. It's possible you don't understand the limitation described by https://github.com/johnpapa/vscode-peacock/issues/7#issuecomment-1921946816

If you want to see this issue resolved please pester the VSCode team about this issue https://github.com/microsoft/vscode/issues/40233

AlexSapoznikov commented 3 months ago

I rarely close my workspace. Could we just have an option to not save anything at all? It's easier to re-apply theme from favourites when opening workspace.

jadnhm commented 3 months ago

@AlexSapoznikov I think it's possible you don't understand the limitation described by https://github.com/johnpapa/vscode-peacock/issues/7#issuecomment-1921946816

If you want to see this issue resolved please pester the VSCode team about this issue https://github.com/microsoft/vscode/issues/40233

AlexSapoznikov commented 3 months ago

@jadnhm So you are saying that you can not apply new colors without touching .vscode/settings.json? I thought that the limitation affects only restoring colors when opening vscode.

What I specifically was wondering that would it be possible to apply colors without touching .vscode/settings.json so that when I re-open my vscode it would not restore anything at all? Because right now when I apply a theme and reset settings in git, the theme stays as long as I close and re-open the window. I would just prefer using this without resetting git all the time.

jadnhm commented 3 months ago

@AlexSapoznikov

So you are saying that you can not apply new colors without touching .vscode/settings.json?

yes that's exactly what I'm saying. Please read the linked comment from #7 and peruse that issue's other comments for more specifics

https://github.com/johnpapa/vscode-peacock/issues/7#issuecomment-1921946816 :

image

What Peacock is attempting is not 'changing the theme' although that's something that could be attempted (probably by another extension?). Peacocks job is to leave EVERY OTHER SETTING besides window 'chrome' colours alone, and themes consist of many settings besides colour (such as fonts, for example)


I would just prefer using this without resetting git all the time

we all would prefer that which is why we're all so angry that https://github.com/microsoft/vscode/issues/40233 has been ignored for so long and why I directed you there in my previous comment.

AlexSapoznikov commented 3 months ago

@jadnhm I did read the whole thread before writing here. I just managed to misunderstand that vscode settings is also needed for applying colors and not only for restoring. In that case we can close this thread. Thanks for clarifying!

AferraroMezrah commented 2 months ago

@AferraroMezrah Please read my summary of #7 here #7 (comment)

You can see that the 'location where the colour information is saved' is dependant upon VSCode itself and unless someone can figure out an amazing hack there is not much https://github.com/johnpapa/vscode-peacock/ can do about it, unfortunately

I understand the limitation of the requirement to write to the settings.json file now. But the original question was about if the "Profile" feature of vscode can be used here. Does the profile create it's own settings.json? How does VSCode treat profiles.

Right now on my team we share a workspace configuration, but I've noticed that I can use different profiles without affecting our source control. And that's what led to the question, to both better understand profiles and what they do under the hood, and also see if that allows them to be used to control peacock settings in a way that isn't the workspace. Because clearly profiles are storing settings configurations per profile somehow. I was hoping it would apply here?

jadnhm commented 1 month ago

@AferraroMezrah why don't you try out what you have in mind and report back?

The goal is to apply colours the way peacock does but you can't touch the file at .vscode/settings.json because that file is checked into source control.