Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>QuikkoNew to Visual Studio Code? Get it now.
Quikko

Quikko

Luisito Habla

|
1 install
| (1) | Free
Live JavaScript and TypeScript runtime feedback directly inside Visual Studio Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Quikko

Live JavaScript and TypeScript feedback directly inside Visual Studio Code.

The Marketplace detail is presented in English by default. A Spanish translation is included in README.es.md.

Quikko runs your current code in an isolated Node.js or Bun process and shows values, logs, errors, coverage, and execution time next to your code. It works with unsaved changes, keeps a local execution history, and never edits your source file.

⚡ What it looks like

const price = 50000;            → 50000
const quantity = 3;             → 3
const total = price * quantity; → 150000
console.log('Total:', total);   ● "Total:" 150000
total;                          → 150000

Results are native VS Code decorations. Quikko does not insert comments or output into your file.

🚀 Automatic startup

  1. Install Quikko.
  2. Open a trusted folder in VS Code.
  3. Open a .js, .ts, .jsx, or .tsx file.
  4. Quikko starts automatically.

No special project configuration, save action, or extra command is required. The only security requirement is that VS Code trusts the workspace.

✨ Features

Area What Quikko does
Inline values Shows variables, calculations, assignments, and expression results.
JavaScript Supports modern syntax, async/await, optional chaining, and modules.
TypeScript Transpiles types before executing the result.
JSX/TSX Parses and transpiles JSX/TSX when project dependencies are available.
Console Captures log, info, warn, error, and debug with multiple arguments.
Errors Shows syntax and runtime errors at the original source line.
Objects Serializes objects, arrays, Map, Set, Date, RegExp, Error, Promise, BigInt, and circular values.
Value Explorer Expands structured values in the native Quikko Values Explorer panel.
Value Explorer tools Searches properties and copies values from the current result tree.
Value Peek Shows the latest value, console output, or error when hovering over a result line.
Inspect Selection Evaluates a selected expression without modifying the source file.
Watches Re-evaluates saved expressions after every execution.
Project imports Bundles local JavaScript, TypeScript, JSX/TSX files and tsconfig.json aliases.
Import Watch Automatically reruns when local imported dependencies change.
Unsaved code Executes TextDocument.getText(), not only the content on disk.
Coverage Marks executed and unexecuted lines in the gutter.
Run on Save Runs only when the document is saved.
Run on Demand Runs only when explicitly requested.
Quikko History Keeps up to 20 recent executions with duration, coverage, values, logs, and errors.
Time Machine Lite Opens a previous execution snapshot without running the file again.
Compare Executions Compares two snapshots and highlights values that changed.
Output and Details Provides metrics, copy actions, logs, errors, and navigation back to source lines.
Performance Snapshot Summarizes average, fastest, slowest, errors, and observed coverage.
Package installation Installs an npm package after validating the name and asking for confirmation.
Node.js and Bun Selects Node.js or Bun as the isolated runtime.
Scratch files Creates ready-to-run JavaScript and TypeScript scratch files.
Privacy No telemetry, advertising, external AI, analytics, or hidden code uploads.

🧭 How it works

Editor change
  ↓ debounce and cancellation
AST parsing and conservative instrumentation
  ↓
Project import bundle + TypeScript/JSX transpilation
  ↓
Isolated Node.js or Bun process
  ↓
Values + logs + errors + coverage
  ↓
Decorations, diagnostics, Value Peek, Explorer, history, and details

🧪 Examples

Calculations and values

const products = [
  { name: 'Keyboard', price: 100 },
  { name: 'Mouse', price: 50 },
  { name: 'Monitor', price: 300 }
];

const total = products.reduce(
  (sum, product) => sum + product.price,
  0
);

total;

Quikko displays products, total, and 450. The object can be expanded in Quikko Values.

Console output

const user = { name: 'Luis', age: 35 };
const visits = 4;

console.log('User:', user, 'Visits:', visits);

Errors at the correct line

const account = { balance: 1500 };

account.balance;
account.owner.name;

The error is associated with account.owner.name, not with the previous line.

TypeScript

interface User {
  name: string;
  age: number;
}

const user: User = { name: 'Luis', age: 35 };
user;

Local TypeScript imports

math.ts:

export const sum = (a: number, b: number): number => a + b;

main.ts:

import { sum } from './math.ts';

sum(20, 30);

Quikko bundles the local import before execution and watches it in automatic mode. Local JSX/TSX files and supported tsconfig.json aliases can use the same workflow.

Inspect Selection and Watches

Select an expression and run Quikko: Inspect Selection:

const account = { balance: 1500 };
const total = account.balance * 2;

Select account.balance * 2 and Quikko prints the result in the Quikko Output channel without editing the file. To observe it after every run, use Quikko: Add Watch Expression and enter:

account.balance * 2

Coverage

if (false) {
  console.log('never runs');
}

const result = 2 + 2;
result;

Executed lines are marked in the gutter to help you find code that was not reached.

Time Machine Lite and comparison

Every successful or failed run appears in Quikko History:

Run · main.js        10:42:08 · 4.8 ms
  Duration: 4.8 ms
  Observed coverage: 80%
  Values: 3 · Logs: 1 · Errors: 0

Use Quikko: Time Machine Lite to open an earlier snapshot. Use Quikko: Compare Executions to compare two runs:

Run A: total → 150000
Run B: total → 175000
Result: total changed

This is a result snapshot viewer. It does not replay every instruction like a traditional debugger.

Output and Details

Quikko: Open Output and Details opens the latest result with metrics, values, logs, errors, copy buttons, and navigation to the original source line.

Node.js and Bun

Node.js is the default runtime. To use Bun, run Quikko: Select Runtime or configure:

{
  "livejs.runtime": "bun",
  "livejs.bunPath": ""
}

Bun must be installed and available on PATH. Keep Node.js selected when a project depends on Node-specific APIs.

Install a package

Run Quikko: Install npm Package, enter for example zod@latest, and confirm. Quikko uses npm without shell, validates registry package names, and shows the output in a separate channel.

🎛️ Execution modes

Mode Behavior
auto Runs on open and after changes using debounce.
onSave Runs when the document is saved.
manual Runs only with Quikko: Run Once.

Quikko starts automatically in auto mode inside trusted workspaces. You can stop it or change the mode from the Command Palette.

⌘ Commands

  • Quikko: Start on Current File
  • Quikko: Stop
  • Quikko: Restart
  • Quikko: Run Once
  • Quikko: New JavaScript Scratch File
  • Quikko: New TypeScript Scratch File
  • Quikko: Clear Results
  • Quikko: Clear Execution History
  • Quikko: Performance Snapshot
  • Quikko: Time Machine Lite
  • Quikko: Compare Executions
  • Quikko: Open Output and Details
  • Quikko: Search Values
  • Quikko: Inspect Selection
  • Quikko: Add Watch Expression
  • Quikko: Clear Watch Expressions
  • Quikko: Install npm Package
  • Quikko: Select Runtime
  • Quikko: Toggle Auto Run
  • Quikko: Show Output
  • Quikko: Open Settings
  • Quikko: About

⚙️ Configuration

{
  "livejs.executionMode": "auto",
  "livejs.bundleProjectImports": true,
  "livejs.runtime": "node",
  "livejs.bunPath": "",
  "livejs.debounceMs": 250,
  "livejs.executionTimeoutMs": 5000,
  "livejs.maxValueLength": 160,
  "livejs.maxObjectDepth": 3,
  "livejs.maxFileSizeKb": 512,
  "livejs.showValues": true,
  "livejs.showConsole": true,
  "livejs.showErrors": true,
  "livejs.showCoverage": true,
  "livejs.showExecutionTime": true,
  "livejs.nodePath": "",
  "livejs.logLevel": "info"
}

The livejs prefix is kept for compatibility with settings created by earlier versions; the public extension and UI are called Quikko.

🔒 Security and trust

Quikko executes workspace code in a separate Node.js or Bun process. It does not use shell: true, applies a timeout, cancels obsolete processes, and does not start automatically in untrusted workspaces. Package installation requires confirmation and accepts only registry package names.

Requirements

  • VS Code Desktop 1.85 or later.
  • Node.js 18 or later, or Bun installed when using the Bun runtime.
  • A trusted workspace for automatic execution.

Current limitations

  • Value Explorer is bounded by depth and size to avoid freezing the editor.
  • History is kept in memory during the VS Code session and stores up to 20 executions.
  • Time Machine Lite reviews complete snapshots; it does not replay instructions one by one or edit code during playback.
  • Watches rerun expressions in an isolated process and expressions may have side effects.
  • Coverage is line-based and is not a complete test coverage solution.
  • JSX/TSX requires React or other project dependencies to be installed when the code uses them.
  • Performance Snapshot measures complete runs; it is not a CPU profiler or a Node.js hotspot analyzer.
  • Bun is an alternative runtime and may differ from Node.js for Node-specific APIs.
  • Quikko does not yet include Code Story Viewer, instruction-level timeline, persistent logpoints, Live Comments, or advanced interactive graphs.

Privacy

Quikko has no telemetry, analytics, advertising, code upload, external AI API, or hidden network calls. Results stay local.

License

MIT. See LICENSE, SECURITY.md, PRIVACY.md, and PUBLISHING.md for more information.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft