Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>TrueEffortNew to Visual Studio Code? Get it now.
TrueEffort

TrueEffort

Korucha

|
2 installs
| (0) | Free
開発における「真の努力」(実働時間と手入力 vs AI生成の割合)を計測・可視化する VS Code 拡張機能
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TrueEffort

開発における「真の努力(Effort)」を計測・可視化する VS Code 拡張機能です。

単なる起動時間ではなく、実働時間と自力でのコーディング割合(手入力 vs AI生成)を明確にします。

機能

  • 総滞在時間の計測(このプロジェクトで VS Code を起動していた時間。ウィンドウのフォーカス状態に関わらずカウント)
  • 実働時間の計測(カーソル移動・文字入力など操作があった秒だけをカウントし、操作が止まると即座に停止)
  • 入力ソース判別(手入力 / ペースト / AI・スニペット)と比率計算
  • ステータスバーへのリアルタイム表示
    • 例: ⏱ 05:20:00 / 💻 02:45:15 | 🧑 [███████░░░] 72% 🤖
  • ダッシュボード(Webview)による日別推移・入力ソース比率の可視化

コマンド

コマンド 説明
TrueEffort: Show Dashboard 日別推移と入力ソース比率のダッシュボードを開く
TrueEffort: Reset Current Project 現在のプロジェクトの計測データをリセットする

ステータスバーのアイテムをクリックしてもダッシュボードを開けます。

設定

設定キー 既定値 説明
trueeffort.aiThresholdChars 30 クリップボード不一致の一括挿入のうち、この文字数以上を AI/スニペットと判定(IME 誤判定回避)
trueeffort.formatterIgnoreMs 1500 保存直後のこのミリ秒間の変更を自動フォーマットとみなし計測から除外

入力ソースの判定ロジック

分類 判定条件
手入力 (🧑) 1〜2文字の単発入力、マルチカーソル編集、または閾値未満の挿入(IME 変換確定など)
ペースト (📋) 挿入文字列がクリップボードの内容と完全一致
AI / スニペット (🤖) クリップボード不一致かつ閾値(既定30文字)以上のまとまった挿入

ステータスバーのゲージでは、ペーストと AI をまとめて「自力でない入力」(🤖側)として比率表示します。

エッジケース対応

  • IME 変換確定: 閾値未満の一括挿入は手入力として扱い、日本語入力を AI と誤判定しません。
  • フォーマッタ自動修正: 保存直後の一定時間に発生した変更を計測から除外します。
  • Vim 等のカーソル移動: 文字入力を伴わない選択変更も onDidChangeTextEditorSelection でアクティブとして捕捉します。
  • パフォーマンス: UI 更新は1秒周期、永続化は5秒周期のバッチ処理で行い、キーストロークごとの再描画を避けます。
  • ウィンドウ非フォーカス時: 計測を停止し、別アプリでの作業を滞在時間に含めません。

開発

npm install        # 依存インストール
npm run compile    # webpack ビルド
npm run watch      # ウォッチビルド

F5(Run Extension)で拡張機能ホストを起動してデバッグできます。

アーキテクチャ

ファイル 役割
src/model.ts データモデル定義・正規化
src/store.ts インメモリ保持と workspaceState への永続化(スロットリング)
src/timeTracker.ts 総時間・実働時間の計測(アイドル / フォーカス判定)
src/effortClassifier.ts 入力ソース判別とエッジケース処理
src/statusBar.ts ステータスバー表示・ゲージ生成
src/dashboard.ts Webview ダッシュボード
src/extension.ts エントリポイント(配線・コマンド登録)
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft