I’m looking for a tool able to automatically track the time I spend coding. A plus if it detects also the programming language I’m coding in (even if it’s a simple approach based on looking at the file extension instead of something more accurate like the GitHub’s Linguist language savant or Enry).

It turns out, the number of programming time tracking tools is rather limited. Sure, there are tens (hundreds?) of time tracking tools out there (I use toggl), but very few have explicit support for coding related tasks. These are the ones I found (pls, point me to the ones you use if not in the list).

WakaTime

WakaTime is by far the most well-known tool in this area. With Wakatime you know exactly how long you spend coding. The tool automatically tracks when you start and stop working, with detailed metrics per: project, file,  branch,  commit, feature, operating system, editor/IDE or language, that are then presented in your private dashboard with a number of useful charts and project usage stats, commit metrics

Language tracking report in WakaTime

and even a leaderboard that adds “gamification” to the process by showing how well you fare against your fellow programmersGamification of coding time tracking in Wakatime

WakaTime has a free starting plan but you’ll need to pay for more advanced features. On the Pro side (beyond all of the above), WakaTime is compatible with basically all editors and languages you could ever use.

CodeTime

CodeTime is a solution specific for Mac users. It’s completely free but also much simpler than WakaTime. CodeTime monitors your file changes and adds up how much time you spend on each language. CodeTime has also a status bar app that keeps track of the amount of time that you have worked each day but lacks most of the reports and gamification aspects of WakaTime. Still, if you are fan of free and Mac-specific tools, CodeTime could do the trick

codeTime - time tracking for coding in Mac

Coding Tracker

CodingTracker  is a Visual Studio Code coding tracker. CodingTracker is defined as a VSCode extension. Basic behavior is like previous tools: you can know how much time you spend on each project/files/computers/languages/branches. Beyond its tight integration with Visual Studio, this tracker may be especially useful to Chinese speakers since it supports both simplified and traditional chinese. Moreover, it’s fully open source (see the CodingTracker GitHub repo).

Coding tracker for Visual Studio Code

CodeAlike

Last but, definitely, not least, CodeAlike is more than a simple time tracking for your coding activities.  And that’s what I like the most about this tool. Sure, you still get the time you spent coding and the distribution of that time per language/technology, but its focus is really on analyzing your coding from every possible angle so that you better understand how you code and how you could improve your productivity.

As an example, CodeAlike shows your “focus curve” where you can see how many times you got interrupted while coding. Or, it can explain to you whether you spend most time coding, debugging, reading or building your code. The following 2-min video will give you a great overview of what CodeAlike could do for you.

As WakaTime, it has a free plan but you’ll have to subscribe to a premium plan to get advanced features and team dashboards.

Code Time

Code Time is an open source plugin for automatic programming metrics (and no, it’s not the same CodeTime mentioned above). It started as a VS Code extension but it now integrates with a variety of other IDEs. Some of the metrics they compute (see also the image below) are the programming time, the lines of code, the number of keystrokes, the main languages,…

They also help you to identify your ideal programming hours (i.e. those where, according to your programming history, you wrote more code) so that you can then try to “block” and “protect” those time slots. Some of these data is calculated and visualized via the web app linked to the plugin you install on your IDE (which means that you need to be online while using this time tracker).

Code Time - Time tracking for programmers

For now, they provide 90 days of data history for free (and they commit this will always free forever but in the future, they will provide premium plans for advanced features and historical data access).

CommitSheet

CommitSheet is a free tool to automatically generate timesheets from a GitHub project. It basically looks at the history of the commits in the project to create a report sheet like this one:

Coding Timesheet

The tool is still in its early stages. For instance, right now is more of a “Git time tracker” than a “GitHub time tracker” since it doesn’t seem to track other project-related activities (like interacting and managing open issues) beyond development-oriented tasks. And, of course, it cannot calculate how many hours did you actually spent on a certain task (it just assumes that if you work X hours a day and there is a commit that day, you spent X hours working on it).

Still, a nice complement to some of the tools above.

(featured image by frankieleon )

Join our Team!

Follow the latest news on software development, especially for open source projects

You have Successfully Subscribed!

Share This