| Markup & SGML | Programming Languages | Scripting & Markup | Data Format & DB | Systems & Config | Miscellaneous |
|---|---|---|---|---|---|
| HTML, XML | C, C++, C# | JavaScript, TypeScript | JSON, JSON5 | Bash, Shell | Markdown, YAML |
| SVG, MathML | Java, Kotlin | Python, Ruby | SQL, GraphQL | Apache Configuration | Docker, Dockerfile |
| SSML, Atom, RSS | Go, Rust | PHP, ASP.NET | CSV, TOML | nginx, Systemd | Git, Regex |
| Ada, Agda | Swift, Scala | Perl, Lua | Protocol Buffers | HTTP, HPKP | LaTeX, Tex, Context |
| ABAP, ActionScript | Haskell, Clojure | R, MATLAB | GraphQL | .ignore (gitignore) | WebAssembly, WebGL |
| ANTLR4, G4 | Objective-C, Dart | Elixir, Erlang | EditorConfig | ASN.1, CSP | |
| Apex, APL | F#, Ocaml | PowerShell | INI, DNS Zone File | VHDL, Verilog | |
| AppleScript, AQL | Groovy, Ruby | Shell Session | Robot Framework | Mermaid, PlantUML | |
| Arduino, ARM Assembly | Fortran, COBOL | AutoHotkey, AutoIt | Puppet, Bicep | GameMaker Language | |
| Arturo, AsciiDoc | Haskell, TypeScript | Lua, MoonScript | AWS, Google Cloud Config | Gherkin, GraphQL | |
| ASP.NET (C#) | Julia, Rust | Tcl, Terraform | Ansible, Terraform | Diff, Patch | |
| Assembly (Various) | Nim, Crystal | Scheme, Lisp | Kubernetes, Docker | UML, DOT (Graphviz) | |
| AWK, GAWK | Perl, PHP | Swift, VB.Net | Prometheus, Grafana | XMPP, IRC | |
| Bison, BNF, RBNF | Prolog, Python | TypeScript | Nagios, Zabbix | LaTeX, SAS, R |
Note: This table represents a subset of the languages supported by PrismJS. For a full list, please refer to the PrismJS supported languages page.
Mermaid Diagram Support
You can create diagrams and charts using Mermaid syntax. To render a Mermaid diagram, ensure that the "View as Markdown" option is selected for the item, and then wrap your Mermaid code in a mermaid block:
```mermaid
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
Toggle Diagram Rendering
If you prefer to see Mermaid code with syntax highlighting instead of rendered diagrams, set the following setting in your VS Code settings:
"vscodeTodo.enableMarkdownDiagrams": false
When disabled, Mermaid code blocks render as regular code with Prism highlighting; when enabled (default), they render as diagrams.
KaTeX Math Support
Render mathematical expressions using KaTeX in Markdown items. Enable "View as Markdown" for the item, then use KaTeX delimiters. Math is not rendered inside fenced code blocks (```), so do not wrap math in triple backticks.
Inline math:
$a^2 + b^2 = c^2$Block math (put on separate lines, no backticks):
$$ \int_0^\infty e^{-x^2},dx = \frac{\sqrt{\pi}}{2} $$
Supported delimiters include $...$, $$...$$, \( ... \), and \[ ... \].
Toggle Math Rendering
To disable KaTeX rendering and show math delimiters as plain text with syntax highlighting instead, set the following setting in VS Code:
"vscodeTodo.enableMarkdownKatex": false
When enabled (default), inline $...$ and block $$...$$ expressions render as KaTeX. If you see a code block instead, remove surrounding triple backticks—KaTeX does not render inside code fences.
Customizable Sorting
You can personalize how the completed tasks are sorted, with two sorting options and the ability to disable sorting as needed.
To define the sorting options:
- sortType1: Moves completed todos to the bottom, just on top of the first completed todo.
- sortType2: Similar to Type 1, but groups completed todos with notes, useful for maintaining contextual relationships.
- disabled: Completed todos remain in place, allowing full manual control of the order.
The default sorting option is sortType1.
"vscodeTodo.taskSortingOptions": "sortType1"
Auto delete completed todos after a specified number of days
You can configure the extension to automatically delete completed todos after a specified number of days. This feature helps keep your task list clean and manageable.
To enable this feature, set the vscodeTodo.autoDeleteCompletedAfterDays configuration option to the desired number of days. Set it to 0 to disable auto-deletion.
"vscodeTodo.autoDeleteCompletedAfterDays": 7
Collapsed item preview lines
Control how many lines are shown when an item is collapsed. Set vscodeTodo.collapsedPreviewLines to the desired number of lines (minimum 1). Default is 1.
"vscodeTodo.collapsedPreviewLines": 2
Webview Font Settings
Control the webview's typography with two settings:
vscodeTodo.webviewFontFamily: CSS font-family string. Leave empty to inherit VS Code's font.vscodeTodo.webviewFontSize: Number in pixels. Set0to inherit VS Code's editor font size.
Example:
"vscodeTodo.webviewFontFamily": "'Fira Code', Consolas, 'Courier New', monospace",
"vscodeTodo.webviewFontSize": 18
Status Bar Integration
View and access your task and note count from the status bar, with a hover tooltip providing a detailed breakdown.

Import from JSON / Markdown
Use Command palette:
Import data from JSONorImport data from Markdown
Requirements:
- The file to import must be in the workspace root folder.
Behavior:
JSON
- If an
idmatches an existing record, the provided values will override the existing ones. Otherwise, a new record will be added. textis the only required property (and thefile pathfor file-specific records).
JSON example (click to expand)
{
"user": [
{ /* if the id matches an existing record, the provided values will override the existing ones. */
"id": 1234567890123456,
"text": "Complete the project documentation",
"completed": false,
"isMarkdown": true,
"isNote": false,
"creationDate": "2024-05-19T12:34:56.789Z"
},
{
/* if the id is not provided or does not match an existing record, a new record is added. */
"text": "Review pull requests",
}
],
"workspace": [
{
"id": 3456789012345678,
"text": "Set up new workspace",
"completed": false,
"isMarkdown": false,
"isNote": true,
"creationDate": "2024-05-20T10:00:00.789Z"
}
],
"files": {
"c:\\Users\\username\\Documents\\project\\README.md": [
{
"id": 4567890123456789,
"text": "Add installation instructions",
"completed": false,
"isMarkdown": true,
"isNote": false,
"creationDate": "2024-05-18T14:22:33.456Z"
}
],
"c:\\Users\\username\\Documents\\project\\src\\main.js": [
{
"id": 5678901234567890,
"text": "Refactor main function",
"completed": true,
"isMarkdown": false,
"isNote": false,
"creationDate": "2024-05-17T16:00:00.789Z",
"completionDate": "2024-05-17T18:30:00.123Z"
}
]
}
}
Markdown
- Imported records will be added to the existing ones.
Export to JSON / Markdown
You can export data by using the Command palette:
- Select
Export data to JSONor - Select
Export data to Markdown
The exported file will be saved in the root folder of your workspace.
Contributing
Contributions are welcome! Please submit pull requests, report bugs, or suggest enhancements via the GitHub repository.
License
Distributed under the MIT License. See LICENSE for more information.
Support
For support, feature requests, or bug reporting, please visit the GitHub issues page.

