Simple Coding Time Tracker is a powerful extension for Visual Studio Code that helps you monitor and analyze your coding time. If you are curious about your coding habits, this extension covers you.
- Automatic Time Tracking: Seamlessly tracks your coding time in the background.
- Project-based Tracking: Organizes time data by project for easy analysis.
- Smart Activity Detection: Automatically pauses tracking during periods of inactivity.
- Status Bar Display: Shows your today's total coding time duration in real-time.
- Tooltip on Status Bar: Shows the total coding time weekly, monthly and all time basis.
- Interactive Data Visualization:
- Project Summary Chart: Visual breakdown of time spent on each project
- Daily Activity Timeline: Interactive line chart showing your coding patterns
- Activity Heatmap: 3-month calendar view showing coding intensity
- Theme-Aware Charts: Automatically adapts to VS Code's light/dark themes
- Advanced Search & Filtering:
- Date Range Selection: Filter data by specific time periods
- Project Filtering: Focus on specific projects
- Quick Reset: One-click reset for search filters
- Data Persistence: Safely stores your time data for long-term analysis.
- Configurable Settings:
- Save Interval: Customize how often your coding time data is saved (default: 5 seconds)
- Inactivity Timeout: Set how long to wait before stopping the timer when no activity is detected (default: 5 minutes)
- Focus Timeout: Set how long to continue tracking after VS Code loses focus (default: 60 seconds)
- Open Visual Studio Code
- Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X on macOS)
- Search for "Simple Coding Time Tracker"
- Click "Install"
Once installed, the extension will automatically start tracking your coding time. You can view your current session time in the status bar at the bottom of the VSCode window.
- In the summary view, locate the search form
- Select a date range using the date pickers
- Optionally choose a specific project from the dropdown
- Click "Search" to apply filters
- Use "Reset" to clear all filters and refresh the view
You can customize the extension's behavior through VS Code settings:
- Open VS Code Settings (Ctrl+, or Cmd+, on macOS)
- Search for "Simple Coding Time Tracker"
- Available settings:
- Save Interval: How often to save your coding time data (in seconds)
- Default: 5 seconds
- Lower values provide more frequent updates but may impact performance
- Higher values are more efficient but update less frequently
- Inactivity Timeout: How long to wait before stopping the timer when no activity is detected (in minutes)
- Default: 5 minutes
- Lower values will stop tracking sooner when you're not actively coding
- Higher values will continue tracking for longer during breaks
- Save Interval: How often to save your coding time data (in seconds)
The extension provides the following commands through the Command Palette:
-
Show Summary (
SCTT: Show Coding Time Summary
): Displays a comprehensive summary of your coding activity with interactive charts and visualizations. -
Reset Timer for Today (
SCTT: Reset Coding Timer for Today
): Resets the coding time tracker for the current day, allowing you to start anew. -
Reset All Timers (
SCTT: Reset All Coding Timers
): Resets all coding time trackers with a confirmation prompt to prevent unintended resets.
The summary page provides a detailed report of your coding activity with interactive charts and visualizations:
- Project distribution chart showing time allocation across projects
- Daily activity timeline with interactive tooltips
- 3-month activity heatmap for long-term pattern analysis
- Theme-aware visualizations that adapt to your VS Code theme
- Advanced search and filtering capabilities
Status bar resets to zero at midnight each day and hence shows the coding time for the current day.
Tooltip shows the total coding time weekly, monthly and all time basis.
When the user is inactive for a period of time, the timer automatically pauses and resumes when the user starts typing again coding again.
It is configurable from the settings. Default value is 5 minutes.
There are total 3 commands in the command palette available for this extension.
- SCTT: Show Coding Time Summary
- SCTT: Reset Coding Timer for Today
- SCTT: Reset All Coding Timers
For technical details about development, release process, and internal architecture, please see TECHNICAL.md.
- Handle multi-root workspaces, external files, and virtual files more effectively.
- Added a verify-changes job to check if a version update is required and ensure non-documentation files are modified before publishing. This prevents unnecessary releases.
- Introduced a new workflow to automate the creation of beta and production releases, including attaching .vsix files and setting appropriate release metadata.
- Added a new technical documentation file outlining the development setup, release process, internal architecture, and testing guidelines for the extension.
- Added smart activity detection with configurable inactivity timeout
- Enhanced chart interactivity and responsiveness
- Improved theme compatibility for all visualizations
- Added quick reset button for search filters
- Refined chart tooltips and legends for better readability
- Made the save interval configurable by the user, with a default of 5 seconds.
- Updated the documentation to reflect the new configuration option.
- Added command to reset all timers
- Added a command to reset daily timer
- Enhanced the UI of the summary view for a more professional look
- Implemented date range search functionality
- Added a reload button to reset search fields and refresh data
- Improved the layout and styling of the Total Coding Time section
- Initial release
- Automatic time tracking
- Project-based tracking
- Status bar display with tooltip
- Detailed summary view
- Data persistence
For developers interested in contributing to the project, please check out our CONTRIBUTING.md file for guidelines and instructions.