VSCode settings : colorize custom tags that start with the "x-" prefix - visual-studio-code

I want to write a vscode setting in which tags ( inside .vue file ) that start with the prefix x- will be colored green.
tags like <x-component></x-component> and <x-lorem></x-lorem>
is it possible? and how
i tried this
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "entity.name.tag.x-*",
"settings": {
"foreground": "#00ff00"
}
}
]
},
and it not works

Unfortunately, it seems that this is not possible without installing the plugin
I used the Highlight plugin mentioned by #rioV8
it works
this is my config :
"highlight.regexes": {
"(<[^>]*x-[^>]*>)": { // A regex will be created from this string, don't forget to double escape it
"decorations": [ // Decoration options to apply to the capturing groups
{ "color": "#7ac379" }, // Decoration options to apply to the first capturing group, in this case "//<-x:"
]
}
}

Related

Changing the style of pipe | character in VS Code

My current theme italicizes keywords, comments, and unfortunately, the pipe (|) symbol as well. Pipes should be absolutely vertical.
I found that it is possible to change the theme and below is the example for that:
editor.tokenColorCustomizations": {
"textMateRules": [
{
"name": "Tag brackets",
"scope": ["punctuation.definition.tag"],
"settings": {
"foreground": "#BBBBBB"
}
}
]
}
which changes the color of angle brackets. So I'm thinking there's a similar "scope" key for the pipe characters as well?
Any help is appreciated !!!

Editor customization: how to change color of boolean keywords?

I am trying to adjust the appearance of the editor.
Using the "editor.tokenColorCustomizations" and "editor.semanticTokenColorCustomizations" settings, I have managed to make all of the desired adjustments, except for the true/false keywords.
Search as I might, I cannot find the setting which controls the appearance of these keywords. Please provide suggestions.
You can use this code to change the color of both true and false:
"editor.tokenColorCustomizations": {
"[<THEME_NAME>]": {
"textMateRules": [
{
"scope": "constant.language",
"settings": {
"foreground": "<COLOR_CODE>"
}
}
]
}
},

How to remove styles from a textmate scope in VSCode

How can I remove the styles set on a textmate scope by a theme? The theme I am using sets a font weight on the storage.type.function scope, and I want to remove it so that it inherits from a parent scope.
Both keywords have the most specific scope as storage.type.function, which is set to bold by the theme.
I have used the two less-specific scopes meta.function and meta.function.closure to set regular and bold styles, however both these are overridden by the more specific storage.type.function scope set by the theme.
Thus to get my custom style to apply, I need to somehow remove the style set on storage.type.function so it falls back to the meta values I have set. Setting it to blank doesn't work:
{
"workbench.colorTheme": "Solarized Dark",
"editor.tokenColorCustomizations": {
"textMateRules": [
// Want to unset this style
{ "scope": "storage.type.function", "settings": { "fontStyle": "" } },
// Neither of these apply because the one above overrides them
{ "scope": "meta.function", "settings": { "fontStyle": "" } },
{ "scope": "meta.function.closure", "settings": { "fontStyle": "bold" } },
]
}
How can I unset storage.type.function so that the meta styles apply?
Here is some test PHP to reproduce the issue, save it as example.php and open it in VSCode:
<?php
class Test {
function a() { // "function" should not be bold (meta.function)
$b = function () {}; // "function" should be bold (meta.function.closure)
}
}

VSCode - Change color of typescript function decorator

Is there a way to change the syntax highlight color of decorators in VSCode? Given the small example :
#HostListener('mouseenter')
onMouseEnter() {}
Both #HostListener and onMouseEnter are highlighted in the same color. I want to change that.
So far I tried messing with "editor.tokenColorCustomizations": { "functions" : "SomeColorHere"}}, but this changes both the decorator and the function declaration.
Here is my config to use TODO highlight as Mark advised, i excluded require and import to avoid interfering with js and stylus
quick note on the screenshot: the default italic style is from here, and the inline property is from here
"todohighlight.isEnable": true,
"todohighlight.isCaseSensitive": true,
"todohighlight.keywordsPattern": "#(?!require|import)[\\w-_.]*",
"todohighlight.defaultStyle": {
"color": "#1E88E5",
"backgroundColor": "0",
"fontWeight": "bold"
},
"todohighlight.include": [
"**/*.js",
"**/*.ts",
"**/*.vue",
],
"todohighlight.exclude": [
"**/node_modules/**",
"**/bower_components/**",
"**/dist/**",
"**/build/**",
"**/.vscode/**",
"**/.github/**",
"**/_output/**",
"**/*.min.*",
"**/*.map",
"**/.next/**"
],
"todohighlight.maxFilesForSearch": 5120,
See inspecting textmate scopes and similar for how to see the scope of your syntax. So something like this will change the color of the decorator symbol # :
{
"scope": [
"punctuation.decorator.js",
// "meta.decorator.js",
],
"settings": {
"foreground": "#e100ff",
"fontStyle": "bold"
}
}
This only affects the # symbol, I couldn't find a way to color the # symbol and its associated function name and no other function names.
There is a workaround that could do that if you really want it. And that is to use a word highlighter like TODO highlight and make a regex that does what you want. Like:
"todohighlight.keywordsPattern": "#[\\w-_]*",
"todohighlight.defaultStyle": {
"color": "red",
// "letterSpacing": "1px",
// "backgroundColor": "rgba(170,102,0,1)",
"backgroundColor": "transparent",
// "borderRadius": "4px",
"isWholeLine": false
}

How do I change color of comments in visual studio code?

I went through https://code.visualstudio.com/docs/getstarted/theme-color-reference but can't seem to find the setting for changing the comment color.
I am currently using Atom One Dark Theme and just like to lighten the color a little bit so I can read it better.
From 1.15 (July 2017) you can change it from settings.json Ctrl+,
"editor.tokenColorCustomizations": {
"comments": "#d4922f"
},
From 1.20 (January 2018) you can also do it for each theme separately:
"editor.tokenColorCustomizations": {
"[Atom One Dark]": {
"comments": "#d4922f"
}
},
Or now you can specify settings for multiple themes at once as "[Atom One Dark][Tomorrow Night Blue]": {...}
Finding the right scope:
Developer: Inspect TM Scopes editor.action.inspectTMScopes
Selector priority:
https://code.visualstudio.com/blogs/2017/02/08/syntax-highlighting-optimizations#_textmate-themes
Ok, more examples (for js):
"editor.tokenColorCustomizations": {
"textMateRules": [{
"scope": "INSERT_SCOPE_HERE",
"settings": {
"foreground": "#ff0000"
}
}]
}
comment
punctuation.definition.comment
comment.block.documentation
storage.type.class.jsdoc
entity.name.type.instance.jsdoc
variable.other.jsdoc
1.Go to your settings.
2.Type “editor.tokenColorCustomizations” into the search bar then click on “Edit in settings.json”:
3.By default, “editor.tokenColorCustomizations” is set to “null”. To customize the comment color, you can add:
{ "comments": "[color code]" }
You can type something like this:
> "editor.tokenColorCustomizations": {
> "comments": "#e45e91" },
4.Change the color of comments,based on your liking by hovering over the color and choosing your desired color.
5.Then save the changes.(Ctrl+S)
6.Exit the program. open it again, you will see the changes.
To expand on the answer and #Johnny Derp's comment. You can change the font color and style using:
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "comment",
"settings": {
"fontStyle": "italic",
"foreground": "#C69650",
}
}
]
},
background cannot be changed in this way, only the color and style. As of June, 2018.
Also in answer to a couple of comments about changing comments puntuation (like the //) colors - which now have to be separately colored with their own textmate rule, a change may be coming to fix that in the October 2019 release - at this point it is an unresolved issue but added to the October 2019 milestone. See https://github.com/microsoft/vscode/milestone/102
In VS Code: 1.56.2
Add to settings.json:
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": [
"comment",
"comment.block.documentation",
"comment.block.documentation.js",
"comment.line.double-slash.js",
"storage.type.class.jsdoc",
"entity.name.type.instance.jsdoc",
"variable.other.jsdoc",
"punctuation.definition.comment",
"punctuation.definition.comment.begin.documentation",
"punctuation.definition.comment.end.documentation"
],
"settings": {
"fontStyle": "italic",
"foreground": "#287a1d"
}
}
]
}
If there is still stoff missing: CTRL+SHIFT+P => Developer: Inspect Editor Tokens and Scopes hover over the parts that are not colored correctly and add them to "scope".
There you are. :)
Looks like the token colors cannot be customized within the settings at the moment:
The most prominent editor colors are the token colors that are based
on the language grammar installed. These colors are defined by the
Color Theme and can (currently) not be customized in the settings.
Source: https://code.visualstudio.com/docs/getstarted/theme-color-reference
I did notice that if you go into the theme folders, for example:
C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\theme-monokai
and edit the monokai-color-theme.json file, look for the line with "name": "Comment" and change the "foreground" color it will work. Just make sure to restart the program.
Like Mark said, but add in the "scope": after "comment"
"punctuation.definition.comment"
to color also the punctuation,
e.g. (// in javescript | /* */ in css | <!-- --> in html).
"scope": ["comment", "punctuation.definition.comment"]
While commenting on comment subject, I found "Better Comments" extension of VS Code very useful. You can give various colors ‎to your comments and hence categorize your comments based on importance etc. ‎
Default comments color can also be changed.‎
https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments
Example:‎
This extension can be configured in User Settings or Workspace settings.‎
Doc, Block, and Line settings
To have differnet colors for Doc, Block, and Line comments:
I.e. for the Cobalt2 theme:
"editor.tokenColorCustomizations": {
"[Cobalt2]": {
"textMateRules": [
{
"scope": [
"comment.block",
"punctuation.definition.comment.end",
"punctuation.definition.comment.begin"
],
"settings": {
"foreground": "#85b3f8",
"fontStyle": "bold"
}
},
{
"scope": [
"comment.block.documentation",
"punctuation.definition.comment.begin.documentation",
"punctuation.definition.comment.end.documentation"
],
"settings": {
"foreground": "#6bddb7",
"fontStyle": "bold"
}
},{
"scope":["comment.line", "punctuation.definition.comment"],
"settings": {
"foreground": "#FF0000",
"fontStyle": "bold"
}
}
]
}
}
Tested with C++.
You can modify your VS code by simply edit your setting file in VS code and follow these 3 steps.
step1:
step2:
Step3:
To change VS Code comment color
File --> Preferences --> Settings
Choose the "Workspace Settings" tab to only change it for this project
Choose the "User Settings" tab to change it for all projects
Do a search for "settings.json" and look for an option to "Edit in settings.json"
Insert this color setting for the comments somewhere inside the curly brackets:
"editor.tokenColorCustomizations": {
"comments": "#ff4"
}
It might complain that you are overriding your current color theme, just ignore that.
If there is already a section for "editor.tokenColorCustomizations" then just add the line to specify the comment color.