vscode-peacock
vscode-peacock copied to clipboard
[Feature] Allow Custom Secondary Color
Is your feature request related to a problem? Please describe.
When setting up a new project i use the projects primary color and set it to peacock.color and then peacock does its magic and creates a new workbench.colorCustomizations
object. This is great, but sometimes I want to tweak secondary colors to better match my projects brand. I can go into .vscode/settings.json and change them to suit my needs.
The issue is next time I open the project. Peacock overrides my workbench.colorCustomizations
object.
I am not sure if there is a way to prevent "workbench.colorCustomizations" changes from being overridden every time or a peacock override object that we can use to fine tune the color scheme..
I see you can set lighten/darken overrides, but cant change the color values
Describe the solution you'd like One solution could be add a
"peakcock.customizationOverides": {
"activityBar.background": "#aeebdf"
}
Then when peacock grabs my peacock.color and sets up the workbench colors it would pull in the overrides instead of creating an entirely new Color Cusomizations object deleting the tweaks I previously made.
Thanks again for a great extension!
Thank you @presto2116 for creating this issue!
thanks for the issue. I see your point here. Peacock does change those colors, so really by using Peacock you are opting into letting Peacock adjust them for you.
The darker and lighter features do let you adjust a little (have you tired those?)
But ... if you really wanted to adjust something that Peacock handles, then it would be overwritten (as you mentioned). So ... it may be worth exploring an option where you tell Peacock to stop doing its thing.
This may have a lot of consequences ... so it's not something we should do lightly. But I am open o hearing more about this and seeing if the community can help offer some suggestions and insight in discussion here.
An example I am thinking of is if I have given peacock a color and it does its thing and styles my project accordingly, I may not like the secondary color it uses for the activityBarBadge.background
Lightening/darkening will never change the color of these items.
I agree with you on the consequences of adding this feature. you probably can think of more than I can, but first that comes to mind is on randomization/changing peacock color, these customizationOverides would stay in place and have negative consequences.
My current solution is run peacock. adjust my .vscode/settings.json and then disabling peacock on that project (if I have custom styling). it works. and may be to easiest solution.
one option could be to allow setting the secondary color yourself.
this may cause a11y issues, but if you do it then it is your call, ya know? so maybe that's an option for a future feature. would that cut it? not saying I can take it on right now, but is this on the right track?
Thanks very much, @johnpapa, for the terrific extension!
I've noticed this behavior, too—I want to change …
"activityBar.activeBorder": "#ff80fb",
… to some other color, since I'm just not a huge fan of pink. But, as noted above, this customization will be reversed. Would be great to be able to make this change and keep it.
My current solution is run peacock. adjust my .vscode/settings.json and then disabling peacock on that project (if I have custom styling). it works. and may be to easiest solution. -- @presto2116
Thinking on this some more lately ... I have yet to find a good way to implement this in code. Perhaps there could be a command to disable Peacock for a specific project in a custom setting like "freeze colors" that is applied locally. This could tell Peacock to not do its thing. Lots of challenges with this , but i'll keep thinking.
Again - i'm open to suggestions and PRs too.