Doit Code is a powerful VS Code extension that combines automatic code scanning for TODOs with manual task management, providing a comprehensive solution for tracking your development tasks.
- Smart Scanning: Automatically scans your workspace for
TODO:
,FIXME:
,HACK:
,NOTE:
, andBUG:
comments - File Integration: Shows tasks with file location (filename:line) and provides direct navigation
- Real-time Updates: Automatically rescans when files change (configurable)
- Intelligent Validation: Periodically validates that tasks still exist in code files
- Quick Add: Create manual tasks with a simple command
- Full CRUD: Edit, complete, and delete tasks easily
- Persistent Storage: Tasks are saved across VS Code sessions
- β Mark Complete/Incomplete: Toggle task completion status
- βοΈ Edit Tasks: Modify task descriptions
- ποΈ Delete Tasks: Remove unwanted tasks
- π Open in File: Navigate directly to TODO comments in code
- Exclusion Patterns: Skip scanning
node_modules
,dist
,.git
, and other common folders - File Type Filtering: Configure which file extensions to scan
- Size Limits: Skip large files to maintain performance (default: 1MB)
- Custom Patterns: Add your own exclusion rules
- Similarity Detection: Smart text matching to detect when tasks are modified vs new
- Auto-complete: Configurable behavior for deleted tasks
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X
) - Search for "Doit Code"
- Click Install
- Open a workspace/folder in VS Code
- The Doit Tasks panel will appear in the Explorer sidebar
- Click "Rescan Workspace π" to find existing TODOs
- Use "Add Manual Task β" to create new tasks
Command | Description | Shortcut |
---|---|---|
Add Manual Task β | Create a new manual task | |
Rescan Workspace π | Scan all files for TODOs | |
Configure Exclusions βοΈ | Manage excluded folders/patterns | |
Refresh | Reload the task list | |
Open File | Open original file |
- TODO
- FIXME
- HACK
- NOTE
- BUG
- Detected from code comments:
// TODO: Fix this bug
- Show file location and line number
- Can be opened directly in the editor
- Automatically updated when files change
- Intelligent tracking: detects when tasks are modified vs deleted
- Created by you for general project tasks
- Not tied to specific code locations
- Fully editable and manageable
Access settings via Ctrl+,
and search for "Doit Code":
Setting | Type | Default | Description |
---|---|---|---|
doitCode.similarityThreshold |
number |
0.5 |
Similarity threshold (0-1) to detect if a task was modified. Higher values require more similarity. |
doitCode.autoComplete |
boolean |
true |
If true , marks tasks as completed when removed from code. If false , deletes them permanently. |
doitCode.validationInterval |
number |
30000 |
Interval in milliseconds to validate tasks still exist in files (30000 = 30 seconds). |
doitCode.excludePatterns |
array |
[] |
Additional file/folder patterns to exclude from scanning. |
doitCode.maxFileSize |
number |
1048576 |
Maximum file size in bytes to scan (default: 1MB). |
doitCode.supportedFileTypes |
array |
[".js", ".ts", ...] |
File extensions to scan for TODOs. |
doitCode.autoScan |
boolean |
true |
Enable automatic workspace scanning on startup. |
{
"doitCode.similarityThreshold": 0.7,
"doitCode.autoComplete": true,
"doitCode.validationInterval": 60000,
"doitCode.excludePatterns": ["**/temp/**", "**/drafts/**", "**/*.backup.*"],
"doitCode.maxFileSize": 1048576,
"doitCode.autoScan": true
}
Controls how similar two tasks must be to be considered the "same" modified task:
0.5
(50%) - More flexible, detects major changes as modifications0.7
(70%) - Balanced, recommended for most cases0.9
(90%) - Strict, only very small changes considered modifications
Examples:
- "Implement login" β "Implement login with OAuth" = ~72% similar β (updated)
- "Implement login" β "Create registration page" = ~20% similar β (new task)
Defines behavior when a task is removed from code:
true
- Task is marked as completed and remains in historyfalse
- Task is permanently deleted from the system
Frequency of automatic validation:
30000
(30s) - Frequent validation, recommended for active teams60000
(1min) - Balance between performance and updates120000
(2min) - Less system load, for large projects
Note: Set to 0
to disable automatic validation.
The extension automatically excludes these common folders:
node_modules
,dist
,build
,out
,chunks
.git
,.vscode
,.idea
vendor
,target
,bin
,obj
.next
,.nuxt
,coverage
__pycache__
,.pytest_cache
,venv
- Minified files (
.min.js
,.bundle.js
, etc.)
// TODO: Implement user authentication
// FIXME: This function causes memory leaks
// HACK: Temporary workaround for API issue
// NOTE: Remember to update documentation
// BUG: Login fails on mobile devices
# TODO: Add error handling
# FIXME: Optimize this query
<!-- TODO: Add responsive design -->
<!-- FIXME: Fix accessibility issues -->
/* TODO: Implement dark theme */
/* FIXME: Cross-browser compatibility */
- New Task Detected: When a TODO comment is added to code
- Task Modified: When comment text changes (detected by similarity)
- Task Removed: When comment is deleted from code
- With
autoComplete: true
β Marked as completed - With
autoComplete: false
β Permanently deleted
- With
Add patterns to exclude specific files or folders:
- Use the "Configure Exclusions βοΈ" command
- Choose "Add exclusion pattern"
- Enter patterns like:
**/temp/**
- Exclude all temp folders**/*.test.js
- Exclude test files**/docs/**
- Exclude documentation
- Large files (>1MB) are skipped by default
- File content is cached for 5 seconds to reduce parsing
- Batch processing prevents UI blocking
- Adjust
validationInterval
for better performance on large projects - Use exclusion patterns for large dependency folders
The extension intelligently handles multiple TODOs in a single file:
- Tracks each TODO independently by line number and content
- Detects which TODOs were added, modified, or removed
- Prevents false positives when adding new TODOs alongside existing ones
- Check if auto-scan is enabled:
doitCode.autoScan: true
- Verify file extensions are in
supportedFileTypes
- Ensure files aren't excluded by patterns
- Try manual "Rescan Workspace π"
- Increase
similarityThreshold
(try 0.7 or 0.8) - Check that TODO comments follow standard format
- Ensure file hasn't been excluded accidentally
- Save the file after making changes
- Check
validationInterval
setting - Try manual rescan if automatic detection isn't working
- Add more exclusion patterns for large folders
- Reduce
maxFileSize
limit - Increase
validationInterval
to reduce validation frequency - Limit
supportedFileTypes
to essential extensions
- Right-click on tasks in the Doit Tasks panel
- Options appear based on task type (file vs manual)
Found a bug or have a feature request?
- Check existing issues on GitHub
- Create a detailed bug report or feature request
- Include VS Code version and extension version
MIT License - see LICENSE file for details
- β¨ Intelligent task validation system
- π― Similarity-based task matching
- β‘ Performance optimizations with caching
- π Configurable validation intervals
- ποΈ Auto-complete behavior for removed tasks
- π Better handling of multiple TODOs per file
- π Batch processing for large workspaces
- β¨ Initial release
- π Automatic TODO detection
- π Manual task management
- βοΈ Configurable exclusions
- π File navigation integration
- π― Performance optimizations
Happy coding with Doit Code! π
Keep your TODOs organized and never lose track of important tasks again.