A Visual Studio Code extension that tracks your coding activity — commits, lines added/removed, and repository insights — all visualized inside VS Code. Our objective is to help users stay focused on their coding/assignments through easily observable progression and stats; all without leaving your editor.
- Live Git Commit Tracking - Monitor your commits in real-time
- Line Statistics - Track lines added and removed per session
- Plotly Visualizations - Interactive charts and heatmaps for commit activity
- Time Tracking - See how much time you've spent on a repository (session, weekly, total)
- Visual Dashboard - Integrated sidebar with multiple views (Clocks, Commits, Changes)
- Open VS Code
- Go to Extensions (
Ctrl+Shift+XorCmd+Shift+X) - Search for "Statosaurus"
- Click Install
-
Clone this repository:
git clone https://github.com/MarcusLages/vs-stats.git cd vs-stats -
Install Node.js dependencies:
npm install
-
Install Python dependencies (for visualization scripts):
python -m venv .venv .venv\Scripts\Activate.ps1 # Windows PowerShell # or: source .venv/bin/activate # macOS/Linux pip install -r requirements.txt
-
Press
F5in VS Code to launch the extension in debug mode
- VS Code
- Node.js
- Python
- Git
Node.js (Extension):
vscode.gitextension (built-in)
Python (Visualization):
plotly(6.4.0) - Interactive chartsvscodevscode.git
See package.json and requirements.txt for complete dependency lists.
- Open a Git repository in VS Code
- Access Statosaurus from the Activity Bar (sidebar icon)
- View your stats in three panels:
- Clocks: Session, weekly, and total time tracking
- Commits: Commit heatmap for the last 7 days
- Changes: Lines added/removed graphs
The extension includes standalone Python scripts for generating visualizations:
Line Graph (Lines Added/Removed):
# From file
python src/visualization/lineGraphs.py data.json
# From stdin
echo '{"linesAdded":[10,7,12,15,8,20,5],"linesDeleted":[2,3,1,4,0,5,2]}' | python src/visualization/lineGraphs.pyCommit Heatmap:
# From file
python src/visualization/commitMap.py commitdata.json
# From stdin
echo '{"commits":[5,10,3,8,12,6,15]}' | python src/visualization/commitMap.pyThis extension does not currently add any configurable settings.
- Initial time tracking may not start immediately on first activation
- Large repositories may experience slight delays in commit tracking
- Python visualizations require manual execution (not yet integrated into extension UI)
Report issues at: GitHub Issues
vs-stats/
├── src/
│ ├── extension.js # Extension entry point
│ ├── components/ # UI components
│ ├── utils/ # Util functions
│ ├── tracker/ # Tracking logic (commits, lines, time)
│ └── visualization/ # Python plotting scripts
├── resources/ # Icons and assets
├── package.json # Extension manifest
└── requirements.txt # Python dependencies
Contributions are welcome, feel free to make a pull request
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Marcus Lages - MarcusLages
- Ben Nguyen - BenNg1
- Built with Plotly for visualizations
- Powered by VS Code Extension API
- Icons by [Statosaurus gang]