Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Task BlocksNew to Visual Studio Code? Get it now.
Task Blocks

Task Blocks

Technochiya

|
1 install
| (0) | Free
Track TASK, TODO, FIXME, BUG, HACK, and REVIEW comments across programming languages.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Task Blocks

Task Blocks finds task comments directly in your code, shows unfinished work in the sidebar and Problems panel, and works across common programming languages.

Write tasks in the editor

Python, YAML, shell, and similar files:

# task: fix the login validation

JavaScript, TypeScript, Java, C#, and similar files:

// task: fix the login validation

Other supported styles include:

-- TODO: optimize query          SQL and Lua
% FIXME: vectorize loop         MATLAB
; HACK: migrate setting         INI and properties
<!-- BUG: repair menu -->       HTML and XML
/* REVIEW: check contrast */    CSS and SCSS

Recognized markers are TASK, TODO, FIXME, BUG, HACK, and REVIEW. Language directives such as C/C++ #include and #define are ignored.

Pending tasks also appear in VS Code's Problems panel. BUG, FIXME, and @high tasks are warnings; review/hack and medium-priority tasks are informational; ordinary tasks are hints.

IDs, due dates, and dashboard

New tasks created with the Add Code Task command receive a stable ID automatically. Existing tasks can use Assign Stable Task ID:

# TODO[id:auth-42]: Fix login due:2026-10-15T16:30 @high

Supported due-date formats are YYYY-MM-DD and YYYY-MM-DDTHH:mm. Use the calendar action above a task line or edit the due: value directly. Overdue work is colored red, sorted first, and reported as an error in the Problems panel.

The Dashboard view summarizes Pending, Overdue, Working, Paused, Completed Today, and total tracked working time.

GitHub identity and ownership

Use Task Blocks: Sign In with GitHub or click the GitHub account row in the Dashboard. Sign-in is optional and handled by VS Code's GitHub authentication provider. Task Blocks stores only the account ID and label, never the access token.

Tasks created while connected are annotated automatically:

# TODO[id:th-example]: Review authorization owner:octocat

The owner appears in the sidebar. Disconnect GitHub disconnects the account from Task Blocks without signing GitHub out of VS Code.

Dates

The calendar action opens a visual date-and-time picker for the due date. When a task first changes to Working, its start date and time are stamped automatically in workspace storage. Hover over the sidebar task to see Created, Started, Completed, and tracked working time.

The extension activates automatically after VS Code starts, so task highlighting, locking, diagnostics, and the dashboard work before the sidebar icon is opened.

The line is highlighted in the editor and appears under Pending Code Tasks. Click the sidebar item to jump to the exact line. Completed markers appear in a separate Done Code Tasks view directly below the pending list. Both views remain available even when empty; only the warning indicator disappears when no work is pending.

Clickable actions also appear directly above every task line. Depending on the current state, they show Start, Pause, Resume, Done, or Reopen.

Status markers

# task: pending work
# task [working]: currently being worked on
# task [paused]: temporarily paused
# task [x]: finished and hidden from the pending sidebar

Add priority and tags with @ labels, and track percentage progress inside the status:

# task [working 50%]: Build login validation @high @backend

Recognized priorities are @high, @medium, and @low. Other labels become searchable visual tags. Use the progress action beside a Working or Paused task to select 0%, 25%, 50%, 75%, or 100%.

The extension records when a task was created, started, paused, reopened, and completed. Hover over a sidebar task to see its timestamps and accumulated working time. Timing data stays in VS Code workspace storage and does not modify the source comment.

Use the play, pause, resume, and check buttons in the sidebar. The extension edits the marker in the source file automatically. When every task is done, the warning in the status bar disappears. Use the reopen button in the Done view to move a task back to Pending.

Task blocks

Start a task block with a named task and close it by typing # task end (or // task end):

# task: Build login validation
def validate_login(user):
    pass
# task end

Adding the end marker automatically completes the task. The completed block is shaded and protected according to the Task Blocks: Lock Mode setting. Use Reopen in the editor or Done sidebar to remove the end marker and unlock the block.

Completed blocks provide native editor folding and collapse automatically once when opened or completed. Use the gutter folding arrow or Fold/Unfold action to inspect or collapse a locked block. Expanding a block does not unlock it; editing requires Reopen.

Lock modes:

  • Strict (default): immediately undoes edits inside completed blocks.
  • Soft: allows the edit, warns once, and offers to reopen the task.
  • Off: allows normal editing without warnings.

Completed tasks are grouped by filename in the Done Code Tasks view.

Add from VS Code

Open a file, place the cursor where the comment should be inserted, and run Task Blocks: Add Code Task from the Command Palette or use the + button in the sidebar.

The extension scans common source and text file types in the current workspace. It does not use the network.

Privacy, support, and security

  • Privacy policy
  • Support and issue reporting
  • Security policy
  • MIT license
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft