Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>CodeSprintNew to Visual Studio Code? Get it now.
CodeSprint

CodeSprint

codesprint

|
1 install
| (1) | Free
Focus timer, daily coding goals, streaks and productivity stats in your VS Code sidebar. Focus. Code. Improve.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CodeSprint

CodeSprint is a lightweight productivity companion for programming students and professional developers. It lives in the VS Code sidebar and helps you build a consistent coding habit with a Pomodoro focus timer, daily goals, streak tracking and simple statistics.

Everything is stored locally. There is no account, no backend and no telemetry, and your source code is never read or transmitted.

Features

  • Focus timer - 25 minute focus sessions, 5 minute short breaks and 15 minute long breaks (all configurable). Start, pause, resume, reset and switch between session types.
  • Accurate and reliable - the timer runs in the extension host and is calculated from timestamps, so it keeps counting while you switch tabs, close the sidebar or reload VS Code. A session that finishes while VS Code is closed is credited correctly the next time it opens.
  • Daily goal - choose a target with presets (30m, 1h, 2h, 3h) or a custom value, and track completed focus time with a progress indicator.
  • Statistics - today's focus time, total completed sessions, weekly focus time, goal completion, current streak and longest streak.
  • Consistency tracking - a seven day overview, active days this week and in total. Only completed focus sessions count; abandoned or reset sessions never do.
  • Motivational reminders - over 35 inspiring, professional developer quotes displayed at configurable intervals (via non-intrusive status bar messages, notifications, or on-demand via the command palette), alongside daily dashboard reminders and milestone messages after completed sessions.
  • Status bar timer - always-visible countdown; click to start, pause or resume.
  • Notifications - a native VS Code notification when a session ends, with a one-click button to start the suggested break or the next focus session.
  • Themes - Light, Dark or System Default (follows your VS Code theme).
  • Accessible - full keyboard navigation, visible focus outlines, screen reader labels and a layout designed for narrow sidebars and display scaling.

Installation

From a VSIX file

  1. Open VS Code.
  2. Open the Extensions view (Ctrl+Shift+X / Cmd+Shift+X).
  3. Select the ... menu at the top of the view and choose Install from VSIX...
  4. Pick codesprint-1.3.0.vsix.

Or from a terminal:

code --install-extension codesprint-1.3.0.vsix

From source

npm install
npm run compile
npm run package

Usage

  1. Click the CodeSprint icon in the Activity Bar to open the dashboard.
  2. Press Start to begin a focus session. The ring and the status bar show your progress.
  3. When the session ends you get a notification and the timer switches to the suggested break.
  4. Set your daily target in the Daily goal section and watch the progress bar fill.
  5. Open Settings (gear icon in the dashboard header) to change the theme, durations, notifications and break suggestions.

Switching session type while a session is in progress asks for confirmation, because the unfinished session is discarded.

Commands

All commands are available from the Command Palette under the CodeSprint category.

Command Description
Start Timer Start the current session type
Pause Timer Pause a running session
Resume Timer Resume a paused session
Reset Timer Discard the current session
Start, Pause or Resume Timer Single toggle (used by the status bar)
Switch Session Type... Choose focus, short break or long break
Show Motivational Quote Display an encouraging developer quote on demand
Open Dashboard Reveal the sidebar dashboard
Open Settings Open CodeSprint settings in VS Code
Clear Stored Data... Delete all sessions, statistics and streaks

Settings

Setting Default Description
codesprint.theme system system, light or dark
codesprint.focusMinutes 25 Focus session length (1-180)
codesprint.shortBreakMinutes 5 Short break length (1-60)
codesprint.longBreakMinutes 15 Long break length (1-120)
codesprint.sessionsBeforeLongBreak 4 Focus sessions before a long break (2-10)
codesprint.dailyGoalMinutes 120 Daily focus target (5-1440)
codesprint.notifications true Notify when a session finishes
codesprint.autoBreakSuggestions true Switch to a break after a focus session
codesprint.motivationalIntervalMinutes 30 Interval in minutes between random motivational reminders (0 to disable)
codesprint.motivationalDisplay statusBar Display mode: statusBar, notification, or both

Changing a duration applies to the next session; a session already in progress keeps its original length.

Privacy

CodeSprint stores the timer state, completed sessions, daily totals and interface preferences in VS Code's local extension storage (globalState). It makes no network requests, collects no telemetry and never reads your files or source code. Use CodeSprint: Clear Stored Data to remove everything.

Development

npm install        # install dev dependencies
npm run compile    # build to ./out
npm test           # compile and run the unit tests
npm run package    # produce codesprint-<version>.vsix

Press F5 in VS Code to launch an Extension Development Host with CodeSprint loaded.

Project structure

src/
  extension.ts            activation, wiring and disposal
  timer/                  timestamp-based timer engine, state validation
  services/               timer service, settings, statistics, messages, status bar
  storage/                globalState wrapper, history aggregation, validation
  commands/               command registration
  webview/                sidebar provider, HTML (strict CSP), message validation
  util/                   date and duration helpers
  test/                   unit tests (Node test runner, no VS Code needed)
media/
  logo.svg, icon.png      brand logo and marketplace icon
  icons/                  Activity Bar glyph and Lucide icons
  webview/                dashboard stylesheet and script
  

Version 1.3.0 Open VSX License MIT

Design notes

  • The timer engine is a pure state machine with an injectable clock. It stores timestamps (segment start, elapsed time) instead of a countdown, which makes restoration after reloads exact and testable.
  • The webview has no authority: it renders the state it receives and sends validated intent messages. The host rejects any message that is not an exact member of the protocol.
  • The webview uses a strict Content Security Policy (default-src 'none', nonce-protected script, no inline styles or remote resources).
  • One interval exists only while a session is running. Nothing runs in the background while the timer is idle.

Known limitations

  • VS Code stores extension data per user, not per window. If you run the timer in several windows at once, each window keeps its own in-memory timer; use one window for timing.
  • Notifications use VS Code's native notification system, so they appear inside VS Code rather than as operating system toasts.

Third-party notices

Interface icons are from Lucide (ISC License).

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft