Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Exploration: Introduce a way for the integrated terminal to be themed #6979
This was referenced
May 28, 2016
referenced this issue
Oct 11, 2016
This is going to be a major headache to existing theme maintainers. I am not comfortable messing with peoples terminal colors of themes they already have installed and in use. There is too much variation in some aspects of themes and they should be separated and made easier to customize by users. Forcing users to go into tmtheme files to make a change is just not feasible.
Workspace themes, terminal themes and Syntax themes should remain separate. It is too hard to please all users by lumping all of these into one huge theme that requires editing a tmtheme which is way out of reach for most people.
If we look at the example of the current Workspace themes, Dark, Light, and High Contrast, it is hard enough just trying to please people with 3 options for the workspace themes. Some themes were meant to be a Dark background syntax theme with a Light Workspace theme or Light background syntax with dark background workspace, but this should not be something enforced by the theme. It should be something the user can easily toggle or choose a different option.
The user should have the option to select different themes for Workspace, Syntax and Terminal. I would say have these new PList values in their own Terminal themes, and then add a new command to select a terminal theme. Same goes for workspace themes.
EDIT: I bring these issues up, since I have close to 300 themes on the marketplace.
@gerane I understand where you're coming from, here are my thoughts on the topic:
changed the title from
Introduce a way for the integrated terminal to be themed
Exploration: Introduce a way for the integrated terminal to be themed
Oct 13, 2016
@Tyriar to be fair, using a white workspace theme with a dark syntax them is currently broken. The text is just not going to be readable in the workspace and menus etc. However, my assumption was that this was something that would be addressed when workspace themes were added. I personally like my editor all one shade of color, but I do know people who learned in a white editor with dark syntax, and thats what they like. That isn't possible in Code.
I am all for maintaining a single tmtheme for workspace/terminal/syntax, but I do feel there should be at least some form of user friendly way to override certain aspects. Right now there are no real override options at all unless you manually edit the tmtheme, which might get lost if the theme is ever updated. Themes are something that many feel very personal about and like to tweak, but tmtheme is not a very user friendly way for any sort of customization.
One idea that quickly came to mind that I quite liked at first, was leaving everything in a single tmtheme, but allowing a user to opt in to changing the terminal or workspace theme to one from another theme. VSCode could then just selectively use the certain aspects of the themes if the user opts to override the default. However, I think what I'll mention below is a better solution.
Another idea is to allow user overrides of certain theme settings via config file. Have everything default to the tmtheme unless the user uses their own value in the config. I personally like this sort of option the best. I think this would be especially beneficial for those settings that are not standard tmtheme settings, and are unique to VSCode. The huge majority of themes do not have these unique settings in them, because almost all of them were ported from existing themes. Especially since you are going to be continually adding these types of settings as time goes on.
@Tyriar I am really excited for those terminal themes. I do think a single tmtheme makes sense, but I also see value in giving some options to users, even if it is only the settings unique to VSCode .
referenced this issue
Oct 23, 2016
I was just trying to change my terminal colors this morning... which as brought me here. Having themes for the integrated terminal would be a really nice feature. However, would it be possible to just add the foreground and background colors to the settings.json file for a quick color swap?
I see a lot of other settings in there so I was just curious. I will be looking forward to the terminal themes regardless.