DEV Community

Cover image for How a VS Code Extension "Todo Tree" can make your coding easier | Todo Tree Configuration | Highlighting Comments in VS Code
devkoustav
devkoustav

Posted on • Edited on

How a VS Code Extension "Todo Tree" can make your coding easier | Todo Tree Configuration | Highlighting Comments in VS Code

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.

Todo Tree dev.to/koustav


It's now downloaded and has default configurations. But let's make custom ruleset.

๐Ÿ“Œ Go to the Manage Option in VS Code

Manage VS Code


๐Ÿ“Œ Now Click on settings

Settings VS Code dev.to/koustav

The settings file opens.


๐Ÿ“Œ Now we have to open the settings.json File. Click on the button at the top right corner.

settings.json devto-koustav


๐Ÿ“Œ 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,}.*)*"
}
Enter fullscreen mode Exit fullscreen mode

easy
๐Ÿ“Œ Here is the final result-

Todo Tree highlighting Comments


๐Ÿ“Œ Every Comment comes as a object in this json file. The structure of the object is-

Todo Tree dev-to-koustav


๐Ÿ“Œ You can add more objects based on this structure and include the object name in-

Todo Tree dev-to-koustav

Few things to know before editing the configuration

  • icon - used to set a different icon in the tree view. Must be a valid octicon.

octicons

  • 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 and background-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-

Done Meme


Share it๐Ÿ’š with someone who may benefit from this
โค๏ธ Happy Coding!
Follow for more!

Latest comments (24)

Collapse
 
jebarpg profile image
Jeb

Thank you!!!

Collapse
 
hongz1 profile image
Jae Hong Lee

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

Collapse
 
cavo789 profile image
Christophe Avonture

Very nice article and snippets. Thanks!

Collapse
 
mohameddev19 profile image
Mohammed Hamdi

Thanks ๐Ÿ’™

Collapse
 
fedoravpn profile image
Lawrence

How do you use it for comment? /* */

Collapse
 
koustav profile image
devkoustav

Well I have included /* */ format in todo-tree.regex.regex too! Also you can use other formats too based on the file type!

Todo Tree Configuration

Collapse
 
srisham profile image
Sri Balaji S

Thanks. I will check it out.

Collapse
 
michealgreat224 profile image
Micheal Great • Edited

The problem maybe typographical error tho, because i've encounter such several times....
just calmand cross check your codes again

Collapse
 
rakinar2 profile image
Ar Rakin

Absolutely Amazing!

Collapse
 
koustav profile image
devkoustav

Thanksโœจ

Collapse
 
koustav profile image
devkoustav

Sounds interesting! Guess I'll check it out.

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