Nifty Pretty Errors
Readable error messages for every language: TypeScript types formatted as code, long C++ and Rust types folded, and a docs link for every error code, in the hover and a side panel.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features



- Errors you can read. Hover over a problem and get it formatted: long TypeScript types move out of the sentence into indented code blocks, names are shown as code, and nested explanations keep their indentation. Works for every language and linter, since it reads the same problems as the Problems panel.
- C++ and Rust, shortened.
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > becomes std::string. Default allocators and comparators are dropped, and deeply nested template arguments are folded to <…>.
- A docs link for every error code. TypeScript (
2322), ESLint and typescript-eslint rules, Pyright/Pylance, Ruff, mypy, Rust (E0308) and Clippy, C# (CS0103, CA1822), ShellCheck, Stylelint and markdownlint codes link straight to their documentation.
- Pretty Errors panel. Every problem in the current file, formatted, in a panel view. The ones on the cursor's line are highlighted as you move, and you can click one to jump to it.
- Copy and search. From the hover or the editor's right-click menu: copy the error as plain text with its file and line (ready to paste into an issue or an AI chat), copy it as Markdown, or search for it. Search opens the code's docs page when there is one; otherwise it runs a web search that leaves out the long project-specific types.
- Works in the browser on vscode.dev and github.dev.
Commands
| Command |
What it does |
Nifty Pretty Errors: Show Pretty Errors Panel |
Open the panel listing the current file's problems |
Nifty Pretty Errors: Copy Error at Cursor |
Copy the problems at the cursor as text with their location |
Nifty Pretty Errors: Copy Error at Cursor as Markdown |
Copy them as formatted Markdown |
Nifty Pretty Errors: Search the Web for Error at Cursor |
Open the error code's docs, or a web search |
Settings
| Setting |
Default |
What it does |
nifty.errors.hover |
true |
Show formatted errors in the hover |
nifty.errors.inlineTypeLength |
40 |
Quoted types longer than this get their own code block |
nifty.errors.docsFirst |
true |
Search opens the error code's docs page when there is one |
nifty.errors.searchUrl |
Google |
Web search URL; ${query} is replaced with the error |
Install
- VS Code: search for "Nifty Pretty Errors" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty Problems: Project-Wide TypeScript Errors: See TypeScript and ESLint errors for your whole project in the Problems panel, not just open files. (Open VSX)
- Nifty XML: XPath, Formatter & XML to JSON: Evaluate XPath with namespaces, copy the XPath of any element, format, minify, check well-formedness and convert XML to JSON. (Open VSX)
- Nifty YAML: Formatter, Validator & Converter: Format YAML without losing comments (Kubernetes-style indents), sort keys, lint with yamllint, copy the key path, and convert to and from JSON. (Open VSX)
- Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)
- Nifty Mermaid: Mermaid Diagram Preview & Export: Mermaid diagrams with no account: live preview beside .mmd files and Markdown, diagrams in the Markdown preview, syntax highlighting, and export to SVG or PNG. (Open VSX)
- Nifty Paste JSON as Code: JSON to Types: Turn JSON on your clipboard into types for TypeScript, C#, Go, Rust, Python, Java, Kotlin, Swift, Dart and more. (Open VSX)
See all 28 Nifty tools at https://getnifty.dev
| |