Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ShellTimeNew to Visual Studio Code? Get it now.
ShellTime

ShellTime

AnnatarHe

|
2 installs
| (0) | Free
Track your coding time and productivity across projects with ShellTime. Automatic language detection, project analytics, and detailed activity insights.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ShellTime CI codecov

Track your coding time and productivity across projects with ShellTime. Automatic language detection, project analytics, and detailed activity insights.

Features

  • Automatic Time Tracking - Tracks your coding activity in the background without interrupting your workflow
  • Language Detection - Automatically detects and categorizes time by programming language
  • Project Analytics - View time spent per project and workspace
  • Git Integration - Tracks activity by git branch
  • Debug Session Awareness - Distinguishes between coding and debugging time

Requirements

This extension requires the ShellTime daemon to be running. The daemon handles server communication, retry logic, and offline support.

Install the ShellTime CLI and start the daemon:

# Install ShellTime CLI
# (installation instructions at shelltime.xyz)

# Start the daemon
shelltime daemon start

Ensure your daemon config at ~/.shelltime/config.toml has code tracking enabled:

[codeTracking]
enabled = true

Extension Settings

This extension contributes the following settings:

  • shelltime.enabled: Enable/disable ShellTime tracking (default: true)
  • shelltime.socketPath: Path to the ShellTime daemon socket (default: /tmp/shelltime.sock)
  • shelltime.heartbeatInterval: Interval in milliseconds between heartbeat flushes (default: 120000)
  • shelltime.debug: Enable debug logging in the console (default: false)

Commands

  • ShellTime: Show Status - Display daemon connection status and version info
  • ShellTime: Flush Heartbeats - Manually flush pending heartbeats to the daemon

How It Works

The extension monitors your VS Code activity and sends heartbeats to a local daemon:

  1. Event Monitoring - Tracks file opens, edits, saves, and cursor movements
  2. Debouncing - Batches events to reduce overhead (max 1 heartbeat per file per 30 seconds)
  3. Periodic Flush - Sends collected heartbeats to the daemon every 2 minutes
  4. Offline Support - Queues heartbeats when daemon is unavailable

Status Bar

The extension shows its status in the VS Code status bar:

  • $(pulse) ShellTime - Connected and tracking
  • $(debug-disconnect) ShellTime - Daemon not running (heartbeats queued)

Click the status bar item to view daemon status.

Privacy

The extension communicates only with the local ShellTime daemon via Unix socket. The daemon syncs your coding activity to the ShellTime server for analytics and cross-device access.

License

See LICENSE for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft