背景
WakaTimeという、自分がどれだけどの作業をしているかを集計してくれるサービスがあります。
無料でもそこそこ使えて便利なのですが、ずっとローカルマシンで開発するならローカル設定しておけばいいのですが、コンテナで開発する場合にはコンテナ側にもWakaTimeの拡張機能をインストールしておく必要があります。
ローカルに入れておいて、ローカルから立ち上げればいいという話ではないっぽい(わからない
で、そうするとコンテナを立ち上げ直すたびに環境変数のデータがとぶのでdevcontainer.jsonを編集するとAPIキーを再入力する必要が生じます。
これはめんどくさい。
対応
{
"customizations": {
"vscode": {
"extensions": [
"WakaTime.vscode-wakatime"
],
}
},
"remoteEnv": {
"WAKATIME_API_KEY": "${localEnv:WAKATIME_API_KEY}"
},
}.devcontainer/devcontainer.jsonにWakaTime.vscode-wakatimeを指定して、立ち上げ時に自動でインストールされるようにします。
またremoteEnvを設定してコンテナ内の環境変数WAKATIME_API_KEYにローカルの環境変数WAKATIME_API_KEYが配置されるようにします
こうすることで、自動で環境変数が渡るようになります。
$ vi ~/.zshrc最後に、ローカルでターミナルを立ち上げたときに自動で環境変数を読み込むようにします。
APIキーはここにあるのでアカウントを作成しておきましょう。
export WAKATIME_API_KEY="xxxxxxxxxxxxxxxx"こういう内容を追記したら保存して、
$ source ~/.zshrc
$ printenv | grep WAKA
WAKATIME_API_KEY=xxxxxxxxxxxxxxxxと表示されたら成功です。
source ~/.zshrcをしないと再読込されないので注意。
このあとVSCodeを再起動するとこの設定が読み込まれます。それを忘れてコンテナを立ち上げ直して、環境変数が何も渡っていなくて困惑していたのはここだけの秘密です。
まとめ
WakaTimeに限らず、自分が何をやっているかをチェックしてちゃんとデータとして出してくれるのは、自分の性格的に振り返りができていい感じです。
GitHubの方で上手いこと設定しておけばプロフィールでどれだけ作業がしたかがわかります。
記事は以上。