TODO Tree Pro
Fast TODO discovery for VS Code, with tree/list views, editor highlights, and ripgrep-powered workspace scans.
Features
- Browse TODO comments from a dedicated Activity Bar view.
- Switch between compact list mode and grouped tree mode.
- Scan workspaces quickly with
@vscode/ripgrep.
- Refresh automatically when files change or when open text buffers are edited.
- Highlight
TODO and TODO: markers directly in the editor, with optional
case-sensitive matching to ignore lowercase words such as the Spanish todo.
- Recognize common comment styles for JavaScript/TypeScript, Python, Go, Rust,
Java, C/C++, C#, HTML, Markdown, CSS, SQL, Shell, PowerShell, Ruby, Lua,
Haskell, Elixir, Svelte, Blade, Razor, Vimscript, Batch, LaTeX, Lisp, and
INI-style files.
Commands
Open the Command Palette and search for TODO Tree:
| Command |
Description |
TODO Tree: Refresh |
Rescan the workspace and update the TODO view. |
TODO Tree: Tree |
Show TODOs grouped by workspace structure. |
TODO Tree: List |
Show TODOs in a flat list. |
TODO Tree: Open TODO |
Open the selected TODO in the editor. |
Settings
| Setting |
Default |
Description |
todoTreePro.excludeFolders |
.git, .output, .out, node_modules, dist, build, .next, coverage |
Folder names excluded wherever they appear in the workspace. |
todoTreePro.collapsedFolders |
.agents, skills |
Folder names collapsed by default in the tree view. |
todoTreePro.caseSensitive |
false |
When enabled, only uppercase TODO and TODO: markers are recognized. |
todoTreePro.useGitignore |
true |
Respect workspace .gitignore patterns when scanning TODOs. |
todoTreePro.maxFileSize |
5242880 |
Maximum file size, in bytes, parsed after ripgrep finds a candidate file. |
todoTreePro.highlight.enabled |
true |
Highlight TODO markers in visible editors. |
todoTreePro.scanOnTextChange |
true |
Update the TODO view from unsaved text buffer changes. |
TODO matching is case-insensitive by default. Set todoTreePro.caseSensitive
to true to recognize only uppercase TODO and TODO: markers.
The default excludeFolders list includes node_modules and dist (along
with the other common build and dependency folders shown above). Add or remove
folder names in VS Code settings to customize the scan scope.
Development
Install dependencies, then launch the extension host from VS Code:
npm install
npm run compile
Press F5 in VS Code to start an Extension Development Host.
npm test
npm run check
npm run lint
npm run format:check
Package and publish:
npm run package
npm run package:darwin-x64
npm run package:all
npm run publish:all
GitHub Actions publishes automatically when a v* tag is pushed. Add a
VSCE_PAT repository secret before releasing. The workflow packages each target
separately so the native @vscode/ripgrep binary matches the VSIX platform.
For platform builds, use npm run package:<target> instead of calling
npx @vscode/vsce package --target <target> directly; the npm script copies the
matching native ripgrep binary before packaging.
Repository
Source code and issue tracking live at github.com/ywenhao/todo-tree-pro.
| |