Highlighting Comments with Todo Tree VS Code Extension
The Todo Tree extension quickly searches your workspace for comment tags like TODO and FIXME, and displays them in a tree view in the activity bar. The view can be dragged out of the activity bar into the explorer pane (or anywhere else you would prefer it to be).
π So let's first download and enable it from the extensions.
It's now downloaded and has default configurations. But let's make custom ruleset.
π Go to the Manage Option in VS Code
π Now Click on settings
The settings file opens.
π Now we have to open the settings.json
File. Click on the button at the top right corner.
π Now you can paste the below code there and make your custom changes in it!
{
"todo-tree.highlights.defaultHighlight": {
"icon": "alert",
"type": "text-and-comment",
"foreground": "black",
"background": "white",
"opacity": 50,
"iconColour": "blue",
"gutterIcon": true
},
"todo-tree.highlights.customHighlight": {
"TODO": {
"icon": "checkbox",
"foreground": "black",
"background": "yellow",
"iconColour": "yellow"
},
"NOTE": {
"icon": "note",
"foreground": "white",
"background": "cornflowerblue",
"iconColour": "cornflowerblue"
},
"USEFUL": {
"icon": "verified",
"foreground": "black",
"background": "mediumaquamarine",
"iconColour": "mediumaquamarine"
},
"COMMENT": {
"icon": "comment",
"foreground": "white",
"background": "gray",
"iconColour": "white"
},
"LEARN": {
"icon": "bookmark",
"foreground": "white",
"background": "hotpink",
"iconColour": "hotpink"
},
"FIXME": {
"icon": "tools",
"foreground": "crimson",
"background": "burlywood",
"iconColour": "burlywood"
},
"RECHECK": {
"icon": "codescan",
"foreground": "white",
"background": "chocolate",
"iconColour": "chocolate"
},
"INCOMPLETE": {
"icon": "alert",
"foreground": "white",
"background": "mediumvioletred",
"iconColour": "mediumvioletred"
},
"BUG": {
"icon": "bug",
"foreground": "white",
"background": "crimson",
"iconColour": "crimson"
},
"SEE NOTES": {
"icon": "note",
"foreground": "white",
"background": "teal",
"iconColour": "teal"
},
"POST": {
"icon": "share",
"foreground": "white",
"background": "green",
"iconColour": "green"
},
"[ ]": {
"icon": "check",
"foreground": "black",
"background": "white",
"iconColour": "yellow"
},
"[x]": {
"icon": "check",
"foreground": "white",
"background": "green",
"iconColour": "green"
}
},
"todo-tree.general.tags": [
"BUG",
"SEE NOTES",
"HACK",
"FIXME",
"RECHECK",
"INCOMPLETE",
"TODO",
"NOTE",
"POST",
"USEFUL",
"LEARN",
"COMMENT",
"[ ]",
"[x]"
],
"todo-tree.regex.regex": "(//|#|<!--|;|/\\*|^|^\\s*(-|\\d+.))\\s*($TAGS).*(\\n\\s*//\\s{2,}.*)*"
}
π Here is the final result-
π Every Comment comes as a object in this json
file. The structure of the object is-
π You can add more objects based on this structure and include the object name in-
Few things to know before editing the configuration
-
icon
- used to set a different icon in the tree view. Must be a valid octicon.
-
iconColour
- used to set the colour of the icon in the tree. If not specified, it will try to use the foreground colour or the background colour. -
gutterIcon
- set to true to show the icon in the editor gutter. -
Foreground
andbackground-color
can be specified using HTML/CSS colour names (e.g."Salmon"
), RGB hex values (e.g."#80FF00"
), RGB CSS style values (e.g."rgb(255,128,0)"
) -
fontWeight
,fontStyle
,textDecoration
- can be used to style the highlight with standard CSS values.
And we are-
Share itπ with someone who may benefit from this
β€οΈ Happy Coding!
Follow for more!
Top comments (24)
Great post, this was helpful.
My VSCode complained about the use of HTML color names instead of RGB or HEX values, so here's the same set of config for the highlights, but with the names replaced with the hex equivalents:
Hi Andy,
In order to see the problem, I copy pasted the exact same code in my settings.json file
But it seems to work absolutely fine here!
So I would suggest you to check if you made any typo error while typing it. Other than that it should work fine!
In case you missed saving the file and your autosave is off, you can save it and try it once again!
I think I might have a linter that was highlighting the issue. It definitely was not a breaking problem.
Have the same issue with colors.
VSCode is ok with HEX-code, but does not like RGB ))
Check out Stepsize's TODO Manager if you want to turn your TODOs into actual issues that you can track and sync in your issue tracker like Jira, GitHub Issues, Linear etc.
Sounds interesting! Guess I'll check it out.
ExcelentΓsimo post my friend. Haven't installed it and I love it already.
Absolutely Amazing!
Thanksβ¨
Very nice article and snippets. Thanks!
Thanks π
Super helpful post, thank you so much!
Iβve used something similar to this but not with so much settings and configurations.
Eager to try this in my project codeβ¦
Thanks a lot⨠You should definitely check it out
How do you use it for comment? /* */
Well I have included /* */ format in
todo-tree.regex.regex
too! Also you can use other formats too based on the file type!thnx buddy
Thanks. I will check it out.
Feeling something missing?
Put your suggestions in the comments π
I'll be happy to add your suggestions!
The problem maybe typographical error tho, because i've encounter such several times....
just calmand cross check your codes again
Wow great post, Thanks so much
Thanks a lotβ¨
Did this post help you?
Save it for later...
lets_code_together
you need to use #RRGGBBAA format if you want to make exact same color as css color names regardless of vscode theme color.
i.e. crimson --> #dc143cff instead of #dc143c
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more