TODO Inspector
A Visual Studio Code extension that scans, highlights, and manages TODO comments across your entire workspace.
Features
- Workspace-wide scanning -- Finds TODO comments in all files matching your configured include/exclude glob patterns. Supports
//, #, /* */, --, %, *, and <!-- --> comment styles.
- Inline highlighting -- TODO lines are highlighted with a configurable background colour, a left-side border, gutter icons, and overview ruler marks so you never lose track of them.
- Interactive webview panel -- A dedicated panel lists every TODO grouped by file. Click any entry to jump straight to the source line. A search box lets you filter results in real time.
- Incremental updates -- When you save, create, or delete a file the extension re-scans only that file and updates the panel and decorations instantly.
- Status bar counter -- A persistent status bar item shows the total number of TODOs and opens the panel when clicked.
- Markdown export -- Export the full TODO report to a
.md file, complete with line numbers and clickable links for any URLs found in TODO text.
- URL extraction -- HTTP and HTTPS URLs embedded in TODO comments are detected automatically and presented as clickable links in both the webview panel and the exported report.
Installation
From the Marketplace
- Open the Extensions view in VS Code (
Ctrl+Shift+X / Cmd+Shift+X).
- Search for TODO Inspector.
- Click Install.
From a VSIX file
code --install-extension todo-inspector-1.0.0.vsix
From source
git clone https://github.com/todo-inspector/todo-inspector.git
cd todo-inspector
npm install
npm run build
Then press F5 in VS Code to launch the Extension Development Host.
Usage
Open the panel
Run the command TODO Inspector: Open Panel from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) or click the TODO counter in the status bar.
Refresh
Run TODO Inspector: Refresh to trigger a full workspace re-scan. You can also click the refresh button inside the panel.
Export to Markdown
Run TODO Inspector: Export to Markdown or click the Export button in the panel. A save dialog will let you choose where to write the report.
Navigate to a TODO
Click any TODO entry in the panel to open the file and jump to the exact line.
Filter
Type in the search box at the top of the panel to filter TODOs by text or file path.
Configuration
All settings live under the todoInspector namespace. Open Settings and search for "TODO Inspector" or edit your settings.json directly.
| Setting |
Type |
Default |
Description |
todoInspector.include |
string[] |
["**/*"] |
Glob patterns for files to include in scanning. |
todoInspector.exclude |
string[] |
["**/node_modules/**", "**/dist/**", "**/.git/**"] |
Glob patterns for files to exclude from scanning. |
todoInspector.highlightColor |
string |
"rgba(255, 200, 0, 0.15)" |
Background colour used to highlight TODO lines in the editor. |
todoInspector.gutterIcon |
boolean |
true |
Show a pin icon in the editor gutter next to TODO comments. |
todoInspector.scanOnStartup |
boolean |
true |
Automatically scan the workspace when the extension activates. |
todoInspector.maxFiles |
number |
5000 |
Maximum number of files to scan (prevents slowdowns on very large workspaces). |
Commands
| Command |
Description |
TODO Inspector: Open Panel |
Open (or reveal) the TODO Inspector webview panel. |
TODO Inspector: Refresh |
Re-scan the entire workspace for TODO comments. |
TODO Inspector: Export to Markdown |
Export all TODOs to a Markdown report file. |
Known Limitations
- Only
TODO in uppercase is matched. Variations like todo, FIXME, or HACK are not detected.
- Binary files and files larger than 1 MB are skipped.
- Files must be valid UTF-8. Other encodings are ignored.
- The gutter icon and highlight colour are read once at activation. Changing them requires reloading the window.
- The extension relies on VS Code's
workspace.findFiles API, so files excluded by the workspace's files.exclude setting are also excluded from scanning.
License
MIT