ParrotJS
Your code talks back. See every runtime value inline as you type — no save, no build, no config. Free 30-day PRO trial available.
Why ParrotJS?
Stop switching between editor and terminal. Stop scattering console.log everywhere. ParrotJS instruments your code in real time and shows you exactly what's happening on every line — values, errors, coverage, and execution flow — as you type.
JS, TS, JSX, TSX · ESM · Node.js imports · no config · instant feedback
Features
⚡ Live Inline Values
The flagship. Runtime values appear next to every expression in real time. Variables, function returns, object properties — all visible as you type, with no markers needed.
|
🕐 Time Travel
Step through every execution snapshot with the timeline. Pin frames to compare values across time. Diff highlights show what changed. Playback, step over/into/out, run to line.
|
🎯 Code Coverage
Green gutter dots mark executed lines. Gray dots mark lines that never ran. Instantly see what your code is actually doing.
|
📋 Console Output
All console.log output appears inline at the call site plus in a dedicated output panel. No more terminal tab-switching.
|
🧪 Test Runner
Inline assertions with pass/fail decorations. toBe(), toEqual(), toStrictEqual(), toContain(), toThrow(), and .not.
|
🔍 Value Explorer
Expandable object inspector for deep structures. Handles circular refs, Maps, Sets, Promises, TypedArrays, getters, and large collections.
|
📍 Live Comments
Use // ? or /*?*/ to display any expression inline — inside functions, loops, conditionals. No boilerplate.
|
📦 Module Resolution
Full ESM bundling via esbuild. Relative imports, barrel files, re-exports, path aliases, and monorepo workspaces — all just work.
|
📎 Sticky Values
Values persist across edits with dimmed styling for stale results. Errors auto-clear on successful re-execution.
|
🧠 Logpoints
Use VS Code breakpoints as capture markers. Logpoint values render with distinct styling alongside your source.
|
💳 Licensing & Trials
Free 30-day PRO trial on request, then activate with a license key. Trial and full PRO variants managed through LemonSqueezy.
|
🕑 Time Travel Playback
Replay execution from the timeline — step over/into/out, run to a line, scrub back to any snapshot.
|
Run Modes
| Mode |
Behavior |
| Automatic |
Executes as you type (configurable debounce — default 300ms) |
| On Save |
Executes when you save the file (Ctrl+S) |
| On Demand |
Executes only when you explicitly trigger it (F5) |
Quick Start
- Install from the VS Code Marketplace
- Open any
.js, .ts, .jsx, or .tsx file
- Start typing — values appear inline instantly
No configuration. No build step. No save required.
Commands
| Command |
Description |
ParrotJS: Start |
Start live feedback |
ParrotJS: Stop |
Stop live feedback |
ParrotJS: Toggle |
Toggle ParrotJS on/off |
ParrotJS: Welcome Page |
Open the welcome guide |
ParrotJS: Clear Results |
Clear all inline decorations |
ParrotJS: Switch Profile |
Switch configuration profile |
ParrotJS: Switch Run Mode |
Switch between automatic / on-save / on-demand |
ParrotJS: Re-execute |
Force re-run current file |
ParrotJS: Toggle Auto Log |
Toggle automatic expression capture |
ParrotJS: Show Line Values |
Capture all expressions on current line |
ParrotJS: Clear Line Values |
Clear line-specific captures |
ParrotJS: Clear Sticky Values |
Reset persistent values |
ParrotJS: Toggle Time Travel |
Enter/exit snapshot review mode |
ParrotJS: Time Travel: Step Over/Into/Out |
Navigate execution history |
ParrotJS: Time Travel: Step Back |
Move to previous snapshot |
ParrotJS: Time Travel: Run to Active Line |
Jump to a snapshot at a line |
ParrotJS: Time Travel: Latest |
Return to live results |
ParrotJS: Toggle Pin |
Pin/unpin a snapshot for comparison |
ParrotJS: Time Travel: View Call Stack |
Inspect stack at snapshot |
ParrotJS: Show Test Results |
Display test assertion summary |
ParrotJS: Add Watch from Selection |
Add a watch expression |
ParrotJS: Clear Watches |
Remove all watch expressions |
ParrotJS: Show Value Explorer |
Open the value explorer |
ParrotJS: Request Free Trial |
Start a 30-day PRO trial |
ParrotJS: Enter License Key |
Activate PRO with a license key |
ParrotJS: License Status |
Show current license state |
ParrotJS: Purchase PRO |
Open the purchase page |
Configuration
| Setting |
Default |
Description |
parrotjs.executionDelay |
300 |
Debounce delay in milliseconds |
parrotjs.maxExecutionTime |
5000 |
Execution timeout in milliseconds |
parrotjs.runMode |
automatic |
automatic, onSave, or onDemand |
parrotjs.autoStart |
true |
Auto-start when opening JS/TS files |
parrotjs.autoLog |
true |
Auto-capture all expression values |
parrotjs.logLimit |
100 |
Max captures per line before throttling |
parrotjs.showInlineValues |
true |
Show runtime values inline |
parrotjs.showConsoleOutput |
true |
Show console.log output |
parrotjs.showConsoleInline |
true |
Show console output inline at call site |
parrotjs.showCoverage |
true |
Show gutter coverage indicators |
parrotjs.includeNodeModules |
false |
Allow importing from node_modules |
parrotjs.watchDependencies |
true |
Re-execute on dependency changes |
parrotjs.maxInlineLength |
80 |
Max characters before inline truncation |
parrotjs.maxObjectDepth |
3 |
Max nesting depth shown inline |
parrotjs.profile |
node |
Active profile: node, react, vanilla |
License
ParrotJS is proprietary software by ParrotDev. It includes a free 30-day PRO trial — run ParrotJS: Request Free Trial to start one, or ParrotJS: Enter License Key to activate an existing license. Full terms are in the included EULA and the license on GitHub.
Report a Bug
·
Website
| |