Focus Timer
Pomodoro-style focus sessions inside VS Code — named timers with work/break cycles, a quick-start stopwatch, a live status bar countdown, and a floating always-on-top mini window so the timer is never out of sight.
Features & Walkthrough
Click the timer icon in the activity bar to open Focus Timer. The panel shows your active session, saved sessions you can rerun with one click, what you've done today, and a weekly breakdown by tag — so you always know where your focus time went.
- Unified Quick Add Bar: Located at the top of the sidebar. Create a new task instantly, select a project tag, or click the left-side
+ button to create a new project on the fly.
- General (No Project) Tasks: Supports creating tasks without a project. They automatically group under the General accordion section in the sidebar. Deleting a project moves its tasks to the General list instead of purging them.

2. Run and Customize Your Focus Sessions
Configuring a new timer lets you customize work, break, cycles, name, and tag. Saved sessions feature a safe, misfire-free interaction design:
- Hovering over a row automatically swaps the duration preset text (e.g.
25/5 · 4x) with a custom amber ▶ Start button.
- Clicking on a task row itself is completely safe and won't trigger starting the timer; you must click the play button to start.
- Context menu actions for Edit and Play are styled with clean, native outline icons.
- Active sessions display progress cycle indicators and progress bars synced with your configuration.

3. Floating Always-on-Top Window
Pop the timer out into a floating always-on-top window (Focus Timer: Open Floating Window) so it stays visible over all other applications while you work. Features transparency, draggable borders, and centered transport controls.

4. Global Quick Add (⌘⇧A)
Press ⌘⇧A (or ctrl+shift+a on Windows/Linux) anywhere in VS Code to open a centered Spotlight-style input. It dynamically parses project tags (e.g., #payments) and estimates (e.g., ~30m) in real-time, showing visual chip previews.
- Press
Enter to create the task under that project.
- Press
Cmd+Enter (or Ctrl+Enter) to create and start a focus session on it immediately.

Scans your workspace source files in real-time for // TODO: or /* TODO: comments and displays side-by-side interactive CodeLenses above untracked comments:
- ▸ Track as task: Instantly creates the task in your Focus database.
- est: 30m ▾: Quick-select different time estimates (
15m, 30m, 1h, 2h, 4h) via VS Code QuickPick.
- General ▾: Quick-select the destination project or General tag.
- Once tracked, the CodeLens dynamically updates to display
✓ tracked · est Xm · Project.
6. Settings & Projects Manager
Click the settings cog in the sidebar header to open a premium Projects Manager popup. Toggle project selections to bulk delete projects or configure custom VS Code extension settings.

7. Instant Stopwatch Mode
Click the stopwatch icon in the sidebar header to start a stopwatch instantly with zero configuration. No names or tags required—just click and count up.
- Transport controls: Easy play/pause toggle.
- One-click reset: Click the Reset button right next to the pause button to end and save your session.
Commands
| Command |
Description |
Focus Timer: Open Panel |
Focus the sidebar timer panel |
Focus Timer: Open Floating Window (Always on Top) |
Pop the timer out into a floating window |
Focus Timer: New Session |
Create a new named session |
Focus Timer: Quick Start Stopwatch |
Start a stopwatch instantly |
Focus Timer: Pause / Resume |
Toggle the running timer |
Focus Timer: End Session |
End the current session |
Settings
| Setting |
Default |
Description |
focusTimer.idleThresholdSeconds |
10 |
Seconds of inactivity before the auto-pause warning |
focusTimer.notifyOnComplete |
true |
Show a notification when a work or break phase ends |
focusTimer.playSound |
true |
Play a sound when a work or break phase ends |
Requirements
VS Code 1.89+ (needed for the always-on-top floating window). The extension works on macOS, Windows, and Linux.