AI Colab
AI Colab combines compact status bar metrics with problem context commands for AI-assisted development.
Status bar
24w87L~420t G+156−42 9f 🤖 3
24w: words in all non-empty editor selections.
87L~420t: lines and estimated tokens in the active AGENTS.md, CLAUDE.md, or SKILL.md.
G+156−42 9f: combined added lines, removed lines, and changed files across workspace Git repositories.
🤖 3: workspace-linked Codex, Claude Code, Cursor Agent, and Pi sessions. Hover for the per-agent breakdown.
Editor and Git updates are event-driven and debounced. Git results are cached per repository, at most two repositories are scanned concurrently, agent scans never overlap, and commands stop when VS Code loses focus.
Commands
| Command |
Behavior |
AI Colab: Copy Context |
Copies the nearest diagnostic within the configured search window, with a bounded preview of nearby code. |
AI Colab: Copy Context and Run |
Copies context first, then inserts it into the active terminal when the workspace is trusted. |
Diagnostic context contains severity, source, a full source range, and a bounded raw-code preview:
Error (source: Pylance): `"(" was not closed`
Location: /Users/example/project/hello.py:4:1 - 5:26
Diagnostic location: /Users/example/project/hello.py:5:10 - 5:11
Preview:
"""
if __name__ == "__main__":
print("Hello, World!"
"""
Locations use absolute/path:startLine:startColumn - endLine:endColumn. Lines and UTF-16 columns are 1-based; the start is inclusive and the end exclusive. The space before the hyphen keeps the starting location separate for VS Code link detection. The primary range covers the full preview source after removing blank boundary lines, not just the displayed beginning and end. A differing diagnostic range is labeled separately.
Copy Context uses the diagnostic plus surrounding lines. Copy Context and Run uses the selected range when present, or the current non-empty line without a selection. Without a nearby diagnostic, Copy Context and Run copies only the location and preview, without a suffix.
Previews default to at most 200 UTF-16 characters, preserving the beginning and end with ... between them when truncated. The marker counts toward the cap; quote delimiters, locations, diagnostic messages, source notes, and the configured suffix do not. This bounds the code preview, not the complete clipboard or terminal text. Both commands remove empty or whitespace-only lines at the beginning and end before limiting the preview. Indentation, trailing spaces on non-empty lines, and internal blank lines are preserved, and surrogate pairs are not split. Large ranges are read only at their beginning and end; no large-selection confirmation is required. The model can read the full range from the file when needed. Unsaved or editor-only sources include a note because the CLI may not have the same content.
When a diagnostic is present, Copy and Run appends the configured suffix as a separate paragraph. It always writes the final text to the clipboard before checking workspace trust or active-terminal availability, then focuses the terminal and invokes VS Code's normal paste action. This uses bracketed paste when supported and otherwise follows VS Code's multiline-paste warning settings. The extension does not append Enter, but execution prevention depends on the receiving program and paste settings; it is not guaranteed for every terminal.
Settings
| Setting |
Default |
Range |
Description |
aiColab.gitUpdateIntervalMs |
1000 |
250–60000 |
Minimum time in milliseconds between dirty Git refresh starts. |
aiColab.agentUpdateIntervalMs |
5000 |
1000–60000 |
Delay in milliseconds between completed focused agent scans. |
aiColab.contextCharacters |
200 |
10 or more |
Maximum code-preview length, including the omission marker, in UTF-16 characters. |
aiColab.contextLines |
3 |
0 or more |
Extra lines before and after the selected diagnostic. |
aiColab.searchLines |
0 |
0 or more |
Maximum cursor-to-diagnostic line distance. If unset, an explicit aiColab.contextLines value is reused. |
aiColab.runSuffixMessage |
Understand the root cause and implement fix. |
— |
Message appended before terminal submission. Set it to an empty string to disable the suffix. |
Interval changes apply without reloading VS Code.
Editor selection/instruction-file metrics and clipboard copying work in Restricted Mode. Git commands, agent process scans, and terminal submission require Workspace Trust. Git and agent metrics require trusted local-file workspace folders; multi-root results are combined.
Git metrics use VS Code's Git API when available and otherwise scan top-level workspace folders. Untracked files count as changed files but not added lines; binary changes add no line totals. Command output is limited to protect the extension host.
Agent detection uses ps and /proc on Linux, ps and lsof on macOS, and PowerShell on Windows. Processes that cannot be linked to a workspace folder are ignored.
Install
Node.js 22 or newer is required to build the extension.
npm ci
npm run package:vsix -- --out /tmp/ai-colab.vsix
code --install-extension /tmp/ai-colab.vsix
Development
npm ci
npm run check
npm run build