Recommended Free Tools
vsceasy can scaffold two very different kinds of Visual Studio Code extensions: an interactive interface built around a React webview, or language support built from grammar and configuration files. Creator Jairo Fernández uses Code Trainer to demonstrate the UI approach and a TOML project to demonstrate the language approach. His account describes the projects and their behavior; it is not an independent reproduction of either demo.
What vsceasy contributes to a VS Code extension
vsceasy is a command-line scaffold tool and small framework, not an extension users install in place of Code Trainer or TOML support. Its package documentation lists three project types: ui, language, and empty. The UI scaffold can include a React webview, a typed RPC bridge between the extension host and webview, and file-based registration for panels, commands, menus, and tree views. The language scaffold provides assets such as a grammar, language configuration, snippets, and an optional file-icon theme. Fernández’s project account and the @vsceasy/cli package documentation describe these capabilities.
As an Amazon Associate I earn from qualifying purchases.
Scaffolding and launch commands
Fernández describes creating a UI project with bunx @vsceasy/cli create my-extension, and his TOML example uses vsceasy create toml-support --type language. His article’s setup path installs dependencies and launches with bun run launch. The npm documentation describes a separate quick start using bun run dev, followed by F5 to launch the Extension Development Host. These commands belong to their respective documented workflows; they should not be treated as interchangeable steps in one universal setup.
The illustrated UI project is organized around an extension entry point, a command, a panel, a shared API contract, and a React interface. That division reflects the UI scaffold’s central design: extension-host features are registered in the extension project, while the webview presents the interface and communicates through the typed bridge.
#1 Best Overall
Code Trainer: an interactive UI extension
Fernández presents Code Trainer as a way to practice algorithm problems by typing solutions, rather than just reading a prompt or pasting code. The project combines a VS Code sidebar, a webview panel, commands, and editor behavior.
Finding and learning a problem
- A sidebar tree view organizes problems by interview pattern and shows progress.
- A React Learn panel displays problem statements and theory, styled with VS Code theme tokens so it can follow the editor’s appearance.
- Commands and quick picks let the user choose a programming language and a practice mode.
Practicing directly in the editor
The author describes an editor typing mode that displays a reference solution as ghost text. A typing guard blocks incorrect characters, while live words-per-minute and accuracy feedback show how the session is going. These features make the extension more than a webview containing lesson text: it also interacts with the editor where the user types.
Testing exercises and tracking sessions
Fernández says generated exercises are placed in a scratch directory and checked against two conditions: the reference solution must pass, and the starter solution must fail. Other outcomes are rejected and the exercise is regenerated. This is the creator’s reported validation design, not an independently verified guarantee about every generated exercise.
In the article’s recorded demonstration, tests run with bun test in a captured terminal and show three passing tests. That is a test count from one project demonstration, not a benchmark or a general statistic. The author also describes using a local Ollama model to write session summaries, with sessions, streaks, and weak topics stored as ORM entities.
Rank #3
Keeping coaching chat in sync
A coaching chat shares conversation history between the panel and sidebar through typed RPC events. In architectural terms, the bridge lets the extension host and webview exchange defined messages instead of relying on unstructured communication between the two parts.
TOML support: a language-focused extension
The TOML example uses the language scaffold rather than the React UI path. Its purpose is to improve editing of TOML-related files with language assets, not to provide an interactive learning interface.
Grammar, configuration, and snippets
- A TextMate grammar and language configuration support
.tomland related files, includingCargo.lock,poetry.lock, andPipfile. - Snippets include
table,kvstr, andinline. - Scoped token colors provide syntax coloring for the language.
Optional icons and a configuration check
The project includes an optional file-icon theme. Fernández leaves activation to the user because activating an icon theme affects file icons across the workbench more broadly; it is not limited to the TOML project’s files.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsThe author also describes vsceasy doctor as checking that grammar, snippet, and icon files referenced in the package configuration exist before packaging. This checks the presence of referenced assets; it is not evidence that every language behavior has been independently validated.
How the two examples differ
| Aspect | Code Trainer | TOML support |
|---|---|---|
| Project type | UI | Language |
| Primary purpose | Interactive algorithm practice with a webview and editor integration | Editing support for TOML-related files |
| Main implementation pieces | React webview, commands, tree view, editor interactions, and typed RPC | Grammar, language configuration, snippets, token colors, and optional icons |
| React and RPC | Used for the UI and communication between webview and extension host | Not part of the described language-support approach |
These are demonstrations of different extension needs, not competing solutions. Choose a UI-style project when the extension needs a dedicated interface or interaction with the editor; choose language support when the goal is to help VS Code recognize and edit a file format.
What the demonstrations establish—and what they do not
The project descriptions, feature behavior, local-model use, and terminal test output come from Fernández’s creator account, published September 27, 2026. The npm page corroborates the package’s documented project types, setup, and scaffold features, but it does not independently validate the showcased projects. The available account calls the showcase Code Trainer; a separate GitHub profile search result uses the name “Code Coach,” and the evidence does not establish that those names identify the same release.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.




