A developer productivity plugin for IntelliJ-based IDEs that surfaces every TODO, FIXME, and HACK comment scattered across your codebase into a single, searchable, real-time dashboard.
Developers leave // TODO and // FIXME comments everywhere — and then forget about them. TaskLens solves this by:
- Auto-scanning your entire project for TODO, FIXME, and HACK comments
- Updating in real-time as you type, edit, or delete comments
- Filtering and searching by type, priority, or keyword
- Jumping to source with a double-click
Never lose track of a task buried in code again.
| Feature | Description |
|---|---|
| 🔍 Project-Wide Scan | Automatically discovers TODO, FIXME, and HACK across all Kotlin, Java, and XML files |
| ⚡ Live Updates | Panel refreshes instantly as you add, edit, or remove comments — no manual refresh needed |
| 🏷️ Priority Parsing | Supports syntax like TODO[HIGH]: Fix auth bug or FIXME[LOW]: Refactor later |
| 🔎 Smart Filtering | Filter by comment type (TODO/FIXME/HACK), priority level, or free-text search |
| 🖱️ One-Click Navigation | Double-click any row to jump directly to the source file and line |
| 🔄 Manual Refresh | Keyboard shortcut Ctrl+Shift+T (or Cmd+Shift+T) to force a full rescan |
- Open IntelliJ IDEA or Android Studio
- Go to Settings → Plugins → Marketplace
- Search for "TaskLens Pro"
- Click Install and restart the IDE
- Download the latest
tasklens-1.0.0.zipfrom Releases - Go to Settings → Plugins → ⚙️ → Install from Disk...
- Select the downloaded
.zipfile - Restart the IDE
After installing, open the tool window:
View → Tool Windows → TaskLens
The panel will appear on the right side of your IDE.
TaskLens recognizes these patterns in Kotlin, Java, and XML comments:
// TODO[HIGH]: Implement user authentication before release// FIXME[MEDIUM]: Memory leak in this callback// TODO: Clean up unused imports// HACK[LOW]: Temporary workaround for API v1As you type, the TaskLens panel updates automatically. Use the filter bar to:
- Search by keyword or filename
- Toggle TODO / FIXME / HACK visibility
- Filter by priority (HIGH / MEDIUM / LOW)
Double-click any row in the table to open the file and navigate directly to the comment line.
TaskLens is built on the IntelliJ Platform SDK and follows a clean separation of concerns:
┌─────────────────────────────────────────┐
│ UI Layer (Tool Window) │
│ ├── TodoToolWindowFactory │
│ ├── TodoTableModel (JBTable) │
│ └── TodoFilterPanel │
├─────────────────────────────────────────┤
│ Service Layer │
│ ├── TodoIndexService (background scan) │
│ ├── TodoRepository (in-memory cache) │
│ └── NavigationService (jump to source) │
├─────────────────────────────────────────┤
│ Listener Layer │
│ ├── ProjectOpenListener (initial scan) │
│ └── TodoPsiTreeChangeListener (live) │
├─────────────────────────────────────────┤
│ Model Layer │
│ ├── TodoItem, TodoType, Priority │
└─────────────────────────────────────────┘
- PSI (Program Structure Interface) — Parses code comments directly from the AST, not regex on raw text
- Background Threading — Full project scans run via
ProgressManagerto avoid freezing the UI - ConcurrentHashMap — Thread-safe repository for real-time read/write between scanner and UI
- PsiTreeChangeListener — Incremental updates: only re-scans files that actually changed
| Technology | Purpose |
|---|---|
| Kotlin | Primary language |
| IntelliJ Platform SDK | IDE extension framework |
| Gradle + IntelliJ Plugin | Build system |
| Swing (JBTable, JBScrollPane) | UI components |
| PSI (Program Structure Interface) | Code parsing and AST traversal |
- IntelliJ IDEA 2023.2+ or Android Studio Giraffe+
- JDK 17+
- Export TODO list to Markdown / CSV
- Git blame integration (show who wrote each TODO)
- Due date support:
TODO(2026-09-01): - Vulnerability / deprecation warnings for outdated TODOs
- Team sync: highlight TODOs added in the current sprint
Contributions are welcome! If you find a bug or have a feature idea:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes
- Open a Pull Request
This project is licensed under the Apache License 2.0.
See LICENSE for details.
Built by Sangeeth as a portfolio project to explore the IntelliJ Platform SDK and developer productivity tooling.
- GitHub: @Sangeeth Amirthanathan
- Plugin: TaskLens on JetBrains Marketplace
If TaskLens helped you stay organized, consider leaving a ⭐ on GitHub or a review on the Marketplace!
