ErrorSnap
ErrorSnap helps with managing and displaying error logs within your workspace.
Features
Tracks and logs errors in your workspace.
Provides error solutions and tagging options.
Displays error messages in a user-friendly interface.
Allows enabling and disabling popups for error notifications.
Stores error logs in a JSON file for reference.
Auto-prompt on error resolution — when a logged error's diagnostic
disappears, ErrorSnap asks "This error's gone — save what fixed it?"
instead of waiting for you to notice and open the panel.
Automatic fix capture — saving a fix grabs the git diff (or a before/after
code snippet) automatically, so you only add a one-line note instead of
writing a solution from scratch.
Inline "View saved fix ↑" CodeLens — a saved fix shows up right above the
line it fixed, one click away, without opening the panel.
Resolve-with-a-note from the panel — clicking "Mark as Resolved" in the
ErrorSnap panel opens a dialog asking what actually fixed it, so the note
is captured whether you resolve from the panel or from the auto-prompt.
Fix notes shown on resolved errors — once an error is resolved, its
saved fix note is displayed right on the card instead of being buried in
the JSON log.
A little celebration on save — confirming a fix plays a confetti burst
and a looping "bug getting bonked" animation, built with CSS/emoji so it
works fully offline with no external images or network calls.
Sign-in: coming soon — a status bar item lets you know account sign-in
is on the way; it's informational only for now (clicking it just shows
"we're working on it!").
Commands
error-snap.openScreen : Opens the ErrorSnap panel to display error logs.
error-snap.enablepopup : Enables error popups for tracking new errors.
error-snap.disablepopup : Disables error popups to prevent notifications.
Settings
errorSnap.setLogPath : Custom path for the error log file. Defaults to error-log.json.
Requirements
Visual Studio Code
Node.js
Installation
To install this extension:
Open the Extensions view (Ctrl+Shift+X).
Search for "ErrorSnap" and click Install
Reload VS Code if required.
Usage
Once installed, run the error-snap.openScreen command to view and manage error logs in your workspace.
Viewing and Saving Fixes
When a diagnostic for a logged error disappears (i.e. you fixed it), ErrorSnap
notices on the next save and prompts:
This error's gone — save what fixed it? "message" (file:line)
[Save Fix] [Dismiss]
Save Fix — captures the git diff (or a before/after code snippet if the
file isn't tracked by git) for that line, then asks for an optional
one-line note about what actually fixed it. The error is marked resolved
and a 💡 View saved fix ↑ CodeLens appears right above the line it
fixed. Clicking the CodeLens opens a read-only Markdown preview with the
error message, your note, the diff, and the before/after snippets.
Dismiss — closes the prompt without saving anything. The error is left
unresolved in the log and no CodeLens is added. ErrorSnap won't ask again
about that same error for the rest of the editor session (it will prompt
again after a reload of VS Code, since the fix technically hasn't been
recorded).
You can also mark an error resolved (and capture the same fix note) from the
ErrorSnap panel itself, via Mark as Resolved on the error's card — useful
if you already know the fix and don't want to wait for the diagnostic to
clear.
Work Flow
| Function |
Description |
activate(context) |
Initializes the extension, sets up commands, the CodeLens provider, and diagnostic tracking. |
errorStore.ensureLogFile() |
Resolves the log path (respecting errorSnap.setLogPath) and ensures the file exists. |
errorStore.generateUniqueId(errors) |
Generates a unique ID for each logged error to avoid duplicates. |
updateDiagnostics(panel, codeLensProvider, filePath?) |
Checks for new/gone errors, prompts to log or save a fix, and updates the error log file. |
promptErrorResolved(err, codeLensProvider) |
Auto-prompt when a logged error's diagnostic disappears; captures the fix on confirmation. |
diffCapture.captureFixDiff(fileUri, line) |
Grabs the git diff vs HEAD and a code snippet for a resolved error. |
ErrorSnapCodeLensProvider |
Renders "View saved fix ↑" above lines with a resolved, saved fix. |
trackDiagnostics(context, codeLensProvider) |
Tracks document save events and updates diagnostics accordingly. |
HelloWorldPanel._resloveError(uniqueId, resolved, fixNote?) |
Marks an error resolved from the panel and persists the fix note entered in the "Mark as Resolved" dialog. |
deactivate() |
Cleans up pending timers when the extension is deactivated. |
License
MIT License
| |