Add an option to supply token mapping as an input
See original GitHub issueSuggestion
Current theme mappings sometimes don’t make sense and are really hard to predict to tweak the theme. I basically modify the source JSON, then regenerate the theme, then try to work out what was affected, and then try to find a way to make things work.
For example in this screenshot titleBar.activeBackground
is set to red and as you can see it affects many things. Some of which I don’t want it to affect and some which it doesn’t affect I want it to affect.
What could be done? The ideal scenario for me would be to not modify the source JSON and instead to modify the mapping and supply it as an input. That way I could fine-tune the output and get something that would feel natural to VS and still true to the theme.
Environment (please complete the following information):
- Converter version: v0.0.2
- VS version: 17.0.0 Preview 3.1
- Theme used: ayu
Impact This could tremendously speed up things and allow for things that are not possible with the auto conversion.
Issue Analytics
- State:
- Created 2 years ago
- Comments:8 (4 by maintainers)
Top GitHub Comments
@dempfi Thanks so much for sharing your detailed feedback in this issue. I can understand that it’s tough to tweak the theme after the conversion process. The initial conversion tool was scoped as an auto-conversion and the initial scenario was intended to optimize the conversion process.
Modifying the JSON is creative and can also be tedious. Visual Studio has a wide range of tokens that don’t map 1:1 so it can be tough to put together which tokens are mapped.
We currently don’t have a source-of-truth list of tokens, but there may be ways to make the token identification process a little easier. There is a tool called Snoop which we used to identify which token is used for a UI component when building the converter, which could be helpful for this process.
One of our next steps is to investigate how to make custom theming easier, and so your feedback for the conversion process is really helpful.
Do you think that after applying some of these tweaks in the second screenshot, that the theme is currently ready to publish to the Marketplace, or are there specific elements about the conversion that are blocking the publish?
cc @ketttY @nestevez @huguesv @jekelly
Hi @dempfi, below are what I have found. Feel free to take a look and let us know if you have more questions or some of the tokens did not act as expected. Thank you! Scrollbar corner:
Text Editor MEF Items&OverviewMarginScrollButtons&Background
Editor Fold lines:
Text Editor MEF Items&outlining.verticalrule&Foreground
Drowdown Shadow:
Environment&DropShadowBackground&Background
Minimap: colors used are under
Text Editor MEF Items&OverView*
. (I am also working on improving the mapping for the minimap)