Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Action TimestampNew to Visual Studio Code? Get it now.
Action Timestamp

Action Timestamp

Fling_CLK

|
8 installs
| (0) | Free
Lightweight Markdown action logger with timestamped actions, controlled categories, explicit End markers, time aggregation, and AI-ready JSON export.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Action Timestamp

Action Timestamp is a lightweight VS Code extension for recording work as timestamped Markdown actions and turning those records into category totals, timeline data, and AI-ready JSON.

Why

Instead of running a separate timer, record what you are doing directly in a Markdown work log:

[09:00:00] @查找 Read API documentation
[09:18:20] @执行制作 Implement parser
[09:42:15] @执行制作 Debug edge case
[10:03:50] End

The interval between timestamped nodes is treated as the duration of the earlier action. End explicitly closes the last action.

Recording mode

For safety, recording is OFF by default every time the extension activates.

Use the status bar or Command Palette:

  • Action Timestamp: Toggle Recording
  • Action Timestamp: Enable Recording
  • Action Timestamp: Disable Recording

When recording is ON in a Markdown editor:

  • Enter — create a new timestamped action
  • Shift+Enter — insert a normal newline
  • Ctrl+Alt+Enter — insert an explicit End marker
  • macOS: Cmd+Alt+Enter — insert an explicit End marker

When recording is OFF, normal Markdown editing is not intercepted.

Categories

Categories are a controlled list configured through:

Action Timestamp: Configure Categories

or VS Code Settings → Action Timestamp › Categories.

Default categories:

查找, 识读判断, 执行制作, 检查审核, 定位修正, 沟通协调, 文件数据操作, 被占用等待, 休息离岗, 非本栋工作, 测量访谈, 其他.

New actions start with @ and do not inherit the previous category. On a timestamped action line, typing @ opens completion suggestions limited to your configured categories.

[11:20:00] @查找 Investigate issue

If you manually type a category that is not defined, Action Timestamp adds a warning diagnostic underline. VS Code Quick Fix can replace it with one of the configured categories.

Incomplete entries

A timestamp without action text, such as [11:20:00] @ or [11:20:00], is an incomplete marker. It closes the preceding action at that timestamp, but its own interval is excluded from category totals and percentage shares. Its duration remains visible as incomplete time in the timeline and session summaries.

Incomplete entries show warning diagnostics. A final incomplete marker stays open until a later timestamp or End closes it. An entry with action text but no category is counted under the configured uncategorized label.

End markers

An explicit end marker looks like:

[12:10:30] End

End is not a category. It closes the preceding action and makes the final interval measurable.

Explicit End intervals are trusted even when they exceed the configured long-gap threshold.

Time analysis

Run:

Action Timestamp: Show Time Statistics

The extension generates a Markdown report containing:

  • tracked active time
  • category totals
  • category share percentages
  • excluded long gaps
  • open actions and incomplete entries
  • incomplete time and marker counts
  • session summaries with tracked time, incomplete time and coverage
  • chronological timeline

By default, an action-to-action or action-to-incomplete interval longer than 30 minutes is marked as an uncertain long gap and excluded from category totals. Change this with Action Timestamp › Idle Threshold Minutes.

AI-ready JSON export

Run:

Action Timestamp: Export AI Analysis Data

The structured analysis JSON is written next to the Markdown file. Save the Markdown file in a writable location first.

When Action Timestamp › Export Json On End is enabled (default), adding a new valid End marker automatically:

  1. recalculates the analysis;
  2. writes or updates a sidecar JSON file next to the Markdown source.

Example:

worklog.md
worklog.action-timestamp.json

The sidecar file is overwritten with the latest analysis instead of creating many historical export files. Both manual and automatic exports use the same compact v3 format: timeline, sessions, category totals and date context, without markers or absolute source paths. Exporting does not change the clipboard. Disable Export Json On End to export only manually.

Use a filename such as 2026-10-03.md or project-2026-10-03.md to populate temporalContext.date. Files without a valid date token export a null date; the date is not inferred from the export time. The export also records the runtime time zone and logical timestamp offsets for logs crossing midnight.

Each End closes the current session; a later action starts a new session without a Start marker. Time between sessions is excluded from category totals. Overall coverage uses the first-to-last timestamp span, including pauses between sessions.

Automatic export runs when the number of valid End markers increases, using the current editor contents. It does not save the Markdown document or refresh the JSON after every subsequent edit. Run the manual export command to refresh analysis after corrections. Untitled documents and read-only filesystems cannot produce a sidecar and show an export error.

The former actionTimestamp.copyAnalysisData command has been replaced by actionTimestamp.exportAnalysisData; update custom keybindings that reference the old command.

Settings

Setting Default Description
actionTimestamp.categories 查找, 识读判断, 执行制作, 检查审核, 定位修正, 沟通协调, 文件数据操作, 被占用等待, 休息离岗, 非本栋工作, 测量访谈, 其他 Allowed category names
actionTimestamp.idleThresholdMinutes 30 Exclude implicit intervals longer than this from tracked totals
actionTimestamp.uncategorizedLabel uncategorized Label used for actions without a category
actionTimestamp.exportJsonOnEnd true Write AI JSON automatically when a new End marker appears

Commands

  • Action Timestamp: Toggle Recording
  • Action Timestamp: Enable Recording
  • Action Timestamp: Disable Recording
  • Action Timestamp: New Timestamped Action
  • Action Timestamp: Normal Newline
  • Action Timestamp: End Current Action
  • Action Timestamp: Configure Categories
  • Action Timestamp: Show Time Statistics
  • Action Timestamp: Export AI Analysis Data
  • Action Timestamp: Diagnose Current Editor

Data model

For two consecutive timestamped actions:

[09:00:00] @查找 Read docs
[09:12:30] @执行制作 Implement

@查找 receives 12m 30s.

For an explicit end:

[09:12:30] @执行制作 Implement
[10:02:00] End

@执行制作 receives 49m 30s, even if the long-gap threshold is shorter, because the end time was explicitly recorded.

License

MIT

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