CodePulse
Real-time code metrics and velocity tracking in your VSCode status bar.
Features
- Live Line Count: See the total lines of code across your workspace
- File Count: Track how many code files are in your project
- Velocity Tracking: Monitor your coding velocity over time
- Lines added today
- Lines added yesterday
- Lines added this week
- Lines added this month
The velocity stat rotates every 4 seconds in the status bar, giving you a quick glance at your productivity.
Usage
Once installed, CodePulse automatically starts tracking when you open a workspace. You'll see the metrics in your status bar:
📊 12,500 lines | 94 files | +127 today
Click on the status bar item to see detailed statistics.
Commands
- CodePulse: Show Detailed Stats - Display a detailed breakdown of all metrics
- CodePulse: Refresh Metrics - Force a rescan of your workspace
Configuration
| Setting |
Description |
Default |
codepulse.rotationInterval |
Milliseconds between velocity stat rotation |
4000 |
codepulse.excludeFolders |
Additional folders to exclude from counting |
[] |
codepulse.includeExtensions |
Additional file extensions to count |
[] |
Supported File Extensions
CodePulse counts files with these extensions by default:
- JavaScript/TypeScript:
.js, .ts, .jsx, .tsx
- Python:
.py
- Ruby:
.rb
- Go:
.go
- Rust:
.rs
- Java:
.java
- C/C++:
.c, .cpp, .h
- Web:
.css, .scss, .html, .vue, .svelte
- PHP:
.php
- Swift:
.swift
- Kotlin:
.kt
- Config/Data:
.md, .json, .yaml, .yml
- Scripts:
.sh, .sql
Excluded Folders
These folders are excluded by default:
node_modules/
.git/
dist/
build/
.next/
vendor/
__pycache__/
- Any hidden folder (starting with
.)
Lock files (package-lock.json, yarn.lock, pnpm-lock.yaml) are also excluded.
Development
Building
npm install
npm run compile
Running
- Open this folder in VSCode
- Press
F5 to launch the Extension Development Host
- Open any project folder to see CodePulse in action
Watching for Changes
npm run watch
How It Works
- Scanning: On activation, CodePulse scans your workspace for code files
- Counting: Each file is read and lines are counted (binary files are skipped)
- History: Daily snapshots are stored in your workspace state
- Velocity: Changes are calculated by comparing current counts to historical data
- Display: Metrics rotate in the status bar every few seconds
- Debounced updates prevent excessive rescanning
- File system events trigger smart updates
- Large projects are processed in batches
- Binary files are detected and skipped
License
MIT