幸ログ

ナレッジを溜めていきます

Emacsでライフログを取るためにWakaTimeを入れてみた


WakaTimeとは

プログラマためのライフトラッキングWebサービス

wakatime.com

エディタ上の作業をリアルタイムで集計し、可視化してくれるサービス。
プログラミング言語別に管理してくれる。
Githubの連携することでリポジトリ状況の可視化までできる。

導入方法は公式に載ってます。
WakaTime導入方法


導入前

Emacsの導入方法を書きます。
導入としてCaskを使います。

Caskが入っていない場合は導入してください。
github.com

※Caskはなくても導入はできます。


導入

  • WakaTimeの登録
    WakaTime

  • Caskファイルにwakatime-modeを記述

;; wakatime
(depends-on "wakatime-mode")
  • wakatime-modeをインストール
$cask install
$git clone https://github.com/wakatime/wakatime  
$ tree -L 1 /path/to/wakatime/wakatime    
wakatime  
├── __about__.py  
├── __about__.pyc  
├── __init__.py  
├── __init__.pyc  
├── cli.py  
├── compat.py  
├── compat.pyc  
├── dependencies  
├── exceptions.py  
├── exceptions.pyc  
├── logger.py  
├── logger.pyc  
├── main.py  
├── main.pyc  
├── offlinequeue.py  
├── offlinequeue.pyc  
├── packages  
├── project.py  
├── project.pyc  
├── projects  
├── session_cache.py  
├── session_cache.pyc  
├── stats.py  
└── stats.pyc  
  • init.elにWakaTimeの設定
(load-file (concat user-emacs-directory "./env.el"))  
(when (require 'wakatime-mode nil t)  
  (setq wakatime-api-key "Your Api Key")  
  ;; すべてのバッファで訪問時に記録を開始  
  (global-wakatime-mode)  
  )  
(custom-set-variables  
 ;; custom-set-variables was added by Custom.  
 ;; If you edit it by hand, you could mess it up, so be careful.  
 ;; Your init file should contain only one such instance.  
 ;; If there is more than one, they won't work right.  
 '(wakatime-cli-path "/path/to/wakatime/wakatime/cli.py"))  
(custom-set-faces  
 ;; custom-set-faces was added by Custom.  
 ;; If you edit it by hand, you could mess it up, so be careful.  
 ;; Your init file should contain only one such instance.  
 ;; If there is more than one, they won't work right.  
 )  

感想

まだ入れて3日目ですが、自分の作業ログが自動で残っていくのはいいですね。 まだ導入してから作業をしていないのでたたのサボり魔です笑

f:id:kodaitakahashi-kt:20151102220316p:plain

みなさんも作業ログを取って満足感に浸りませう。