Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Sumery Libra — Coding TimeNew to Visual Studio Code? Get it now.
Sumery Libra — Coding Time

Sumery Libra — Coding Time

Sumery

|
1 install
| (0) | Free
Records coding time for Sumery Libra, only while you are editing code. Writes time metadata locally; never file names or contents.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Sumery Libra — Coding Time

Counts your coding time for Sumery Libra — only while you are actually editing code, and stops when you stop.

Works in VS Code and its forks (Cursor, Windsurf, VSCodium and others).

What counts as coding

A heartbeat is written only when all of these hold:

  1. the document content really changed (typing, deleting, pasting, undo, refactoring);
  2. it is a code document (file, untitled, vscode-remote or a notebook cell — not the output panel, diff, terminal, logs or settings UI);
  3. that document is in the active editor;
  4. the window has focus;
  5. the change is not a reload of a file rewritten on disk (e.g. after git checkout or a build step).

So reading, scrolling, switching files, searching, watching a build, or having the editor open while you are in another app record nothing.

When counting stops

Heartbeats are throttled to one per 30 seconds; the last edit of a stretch is always written with the time it happened. Libra joins heartbeats that are at most 3 minutes apart into one stretch, so a pause to think stays in the same stretch, and a longer pause ends the stretch at your last edit — none of the idle time is counted.

What is recorded

One JSON line per heartbeat, appended to ~/.orea/ide-heartbeats.jsonl (or $OREA_HOME/ide-heartbeats.jsonl) on your own machine:

{"source":"ide","kind":"heartbeat","at":1789500030000,"sessionId":"vscode:cursor:/Users/me/work/site","appId":"vscode:cursor","appName":"Cursor","cwd":"/Users/me/work/site"}

That is: the time, the editor's product id and name, and the project root. Never file names, file contents, language, cursor position, window titles or keystrokes. The extension makes no network connections.

The extension is declared extensionKind: ui, so in Remote SSH / container / WSL workspaces it runs on your local machine and writes to your local ~/.orea, not to the remote host.

Switching it off

In Libra: Settings → General → Collection → IDE plugin. Or from the command line:

libra --set ide-plugin=off
libra --set ide-plugin=on

The extension re-reads the switch at most every 5 seconds; no restart needed. When the switch is off, edits are discarded, including any heartbeat not yet written.

Checking that it works

tail -f ~/.orea/ide-heartbeats.jsonl   # a line appears within seconds while you type; none after you stop

Libra's Data sources page lists the file's line count and the time of the last heartbeat; on the Today page the time shows as IDE coding.

Companion plugin

The same rules are implemented for JetBrains IDEs: Sumery Libra - Coding Time on JetBrains Marketplace.

License

Provided under the Sumery Libra IDE plugin license (see LICENSE.md). Support: support@looke.cloud.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft