DevHour - Code Time Tracker ⏱️
Track your coding time with GitHub-style contribution charts, Persian calendar support, and detailed metrics.
✨ Features
- Automatic Time Tracking: Tracks focus time (when VSCode is active) and coding time (when you're actively editing)
- Extended Metrics: Track keystrokes, lines added, and lines deleted per project
- GitHub-style Contribution Graph: Visualize your coding activity over the past year
- Project Pie Chart: See time distribution across projects
- Sidebar View: Quick access to today's stats in the activity bar
- Status Bar Integration: See your current session time at a glance
- Persian Calendar Support: Display dates in Shamsi/Jalali calendar with Persian digits
- Timeline Views: Switch between daily, weekly, and monthly views
- Global Time Filter: Filter dashboard data by Today, This Week, This Month, or All Time
- Detailed Breakdown: Click on any metric card to see detailed project-level statistics
- Detailed Reports: Export comprehensive TXT reports with day-by-day breakdowns
📦 Installation
- Open VSCode
- Press
Ctrl+Shift+X to open Extensions
- Search for "DevHour"
- Click Install
🔧 Build from Source
To build the extension package yourself:
# Install vsce globally
npm install -g @vscode/vsce
# Compile TypeScript
tsc -p ./
# Or using npx
npx tsc -p ./
# Generate the .vsix package
vsce package
🚀 Usage
Click the DevHour icon in the activity bar to see:
- Today's stats (editor time, coding time, keystrokes, lines)
- This week's totals
- Project breakdown with percentages
- Quick action buttons for Dashboard, Export, and Toggle Tracking
📈 Status Bar
The status bar shows your current tracking state:
$(code) 2h 15m - Actively coding (green)
$(eye) 3h 10m - In project but idle (yellow)
$(debug-pause) Paused - Tracking paused
Click the status bar item to open the dashboard.
🎯 Dashboard
The dashboard shows:
- Global time filter (Today / This Week / This Month / All Time)
- Today's summary with all metrics (click any card for detailed breakdown)
- Timeline toggle (Daily/Weekly/Monthly)
- 52-week contribution graph (click any day for details)
- Project distribution pie chart
- Daily breakdown with keystrokes and line changes
- Generate Report button
⌨️ Commands
Open the Command Palette (Ctrl+Shift+P) and type:
- DevHour: Show Dashboard - Open the time tracking dashboard
- DevHour: Toggle Tracking - Pause/resume time tracking
- DevHour: Export Time Data - Export your data to CSV or TXT files
🗓️ Persian Calendar
Enable Persian (Shamsi) calendar in settings:
- Open Settings (
Ctrl+,)
- Search for "devhour"
- Set
Calendar Type to "Persian"
- Optionally enable
Persian Digits for ۱۲۳ format
⚙️ Settings
| Setting |
Default |
Description |
devhour.idleThresholdMinutes |
5 |
Minutes before marking as idle |
devhour.dataRetentionDays |
365 |
Days to keep historical data |
devhour.showStatusBar |
true |
Show/hide status bar item |
devhour.calendarType |
gregorian |
Calendar system (gregorian/persian) |
devhour.persianDigits |
true |
Use Persian digits when Persian calendar enabled |
devhour.reportEmoji |
🐻 |
Emoji for report headers |
Reports include:
- Day-by-day breakdown with editor time, coding time, keystrokes, lines
- Per-project totals
- Grand totals
- Both Gregorian and Persian dates (when enabled)
Example:
🐻 Wed, Nov 26th / چهارشنبه ۶ آذر ۱۴۰۳
-------------------------------------------------------------------
Editor time : 44 minutes
Active code time : 2 minutes
Lines of code added : 94
Lines of code deleted : 130
Total keystrokes : 124
💾 Data Storage
Data is stored locally in:
- Windows:
%APPDATA%\Code\User\globalStorage\devhour\data\
- macOS:
~/Library/Application Support/Code/User/globalStorage/devhour/data/
- Linux:
~/.config/Code/User/globalStorage/devhour/data/
No data is sent to external servers.
🤝 Contributing
Any changes and contributions are welcome! Feel free to:
- Open issues for bugs or feature requests
- Submit pull requests
- Suggest improvements
💖 Donation
If you find this extension useful and want to support its development:
BTC: 0x93a2431ab13f578ee200fece5a73119b41114267 BEP20 (BSC)
Solana: 4zDU4T1aBhFD4us3ewkeNpZYYfrC3oMd1XKujsZd22XC
Doge: DBsnpWM86gCV39E5uvb6YRere7LuuMii8j doge
📄 License
MIT