Overview
LiveCodes includes a powerful built-in console for:
Viewing logs - See console.log, error, warn, info output
Interactive REPL - Execute JavaScript in the result page context
Debugging - Inspect objects, arrays, and DOM elements
Testing - Quick code experiments
Accessing the Console
Open Tools Pane
Click the Console tab in the tools pane (bottom of screen)
View Output
See all console messages from your code
Execute Commands
Type JavaScript in the console input to run code
Keyboard shortcut: Ctrl/Cmd + K to clear the console
Console Display Modes
None
Open in Tools
Full Pane
Console is hidden // Set via config
{ tools : { enabled : [], status : '' } }
Console appears in tools pane { tools : { enabled : [ 'console' ], active : 'console' } }
Console takes full pane (via URL param)
Console Methods
Basic Logging
console . log ( 'Hello, World!' );
console . log ( 'Multiple' , 'arguments' , 'work' , 'too' );
console . log ({ name: 'Alice' , age: 30 });
console . log ([ 1 , 2 , 3 , 4 , 5 ]);
Log Levels
console . info ( 'Information message' );
// Blue info icon
Object Inspection
const user = {
name: 'Alice' ,
details: {
age: 30 ,
city: 'NYC'
},
hobbies: [ 'reading' , 'coding' ]
};
console . dir ( user );
// Displays interactive object tree
Tables
Display arrays and objects as tables:
const users = [
{ name: 'Alice' , age: 30 , role: 'Developer' },
{ name: 'Bob' , age: 25 , role: 'Designer' },
{ name: 'Carol' , age: 35 , role: 'Manager' }
];
console . table ( users );
// Displays formatted table
Grouping
Organize log output:
console . group ( 'User Details' );
console . log ( 'Name:' , 'Alice' );
console . log ( 'Age:' , 30 );
console . log ( 'Role:' , 'Developer' );
console . groupEnd ();
console . groupCollapsed ( 'Collapsed Group' );
console . log ( 'Hidden by default' );
console . groupEnd ();
Timing
Measure execution time:
console . time ( 'operation' );
// Some code to measure
for ( let i = 0 ; i < 1000000 ; i ++ ) {
// ...
}
console . timeEnd ( 'operation' );
// Logs: "operation: 45.234ms"
console . timeLog ( 'operation' );
// Log intermediate time
Counting
Count occurrences:
for ( let i = 0 ; i < 5 ; i ++ ) {
console . count ( 'iteration' );
}
// iteration: 1
// iteration: 2
// iteration: 3
// iteration: 4
// iteration: 5
console . countReset ( 'iteration' );
// Resets the counter
Assertions
Conditional logging:
const x = 5 ;
console . assert ( x > 10 , 'x should be greater than 10' );
// Logs error if assertion fails
console . assert ( x > 0 , 'x is positive' );
// No output (assertion passes)
Execute Code
Type JavaScript directly in the console:
// Type in console input:
1 + 1
// Output: 2
[ 1 , 2 , 3 ]. map ( x => x * 2 )
// Output: [2, 4, 6]
document . querySelector ( 'h1' ). textContent
// Output: "Hello, World!"
Code executes in the context of the result page, giving you access to all variables, functions, and DOM elements.
Press Shift + Enter for multi-line code:
function greet ( name ) {
return `Hello, ${ name } !` ;
}
greet ( 'Alice' );
// Output: "Hello, Alice!"
Access Page Variables
// If your script defines:
let count = 0 ;
function increment () { count ++ ; }
// In console:
count // Access variable
increment () // Call function
count // See updated value
DOM Manipulation
// Query elements
const heading = document . querySelector ( 'h1' );
// Modify DOM
heading . style . color = 'red' ;
heading . textContent = 'Modified from Console' ;
// Add elements
const p = document . createElement ( 'p' );
p . textContent = 'Created from console' ;
document . body . appendChild ( p );
Console Keyboard Shortcuts
Shortcut Action Enter Execute command Shift + Enter New line (multi-line input) Up Arrow Previous command Down Arrow Next command Ctrl/Cmd + K Clear console Ctrl/Cmd + L Clear console (alternate)
Console Features
Command History
Navigate through previous commands:
Press Up Arrow to cycle through previous inputs
Press Down Arrow to go forward in history
History persists across page reloads
Object Inspection
Click to expand/collapse:
Objects : See all properties
Arrays : View all elements
DOM nodes : Inspect element structure
Functions : View function code
Copy to Clipboard
Right-click any output to copy:
Copy value
Copy object as JSON
Copy HTML (for DOM elements)
Clear Console
Manual
Keyboard
Programmatic
Click the Clear button in console toolbar
Press Ctrl/Cmd + K
Console in Different Contexts
Result Page Console
Default console shows output from the result page:
// In your script editor:
console . log ( 'This appears in console' );
Service Worker Console
Service worker logs also appear:
// In service worker:
self . addEventListener ( 'install' , () => {
console . log ( 'Service worker installed' );
});
Error Handling
Uncaught errors automatically log:
// Syntax errors
const x = ; // Shows in console
// Runtime errors
undefinedFunction (); // Error logged
// Promise rejections
Promise . reject ( 'Failed' ). catch ( e => console . error ( e ));
Console Configuration
Via Config Object
import { createPlayground } from 'livecodes' ;
createPlayground ( '#container' , {
config: {
tools: {
enabled: [ 'console' , 'compiled' ],
active: 'console' ,
status: ''
}
}
});
Via URL Parameters
# Open console by default
?console=open
# Console in full pane
?console=full
# Console closed
?console=none
Luna Console
LiveCodes uses Luna Console , a powerful console emulator with:
Full console API support
Object tree visualization
Syntax highlighting
Auto-completion
Mobile-friendly UI
Theme automatically matches your LiveCodes theme (light/dark).
Best Practices
Debug with Console
Use console.log liberally during development: console . log ( 'Function called with:' , arguments );
console . log ( 'Current state:' , state );
Remove Production Logs
Remove or comment out console statements before sharing: // console.log('Debug info'); // Comment in production
Use Appropriate Methods
console.log() for general output
console.error() for errors
console.warn() for warnings
console.table() for structured data
Group Related Logs
console . group ( 'API Call' );
console . log ( 'Request:' , requestData );
console . log ( 'Response:' , responseData );
console . groupEnd ();
Troubleshooting
Console not showing output
Verify console tab is open
Check your code has console statements
Ensure code is running (click Run if needed)
Check for JavaScript errors preventing execution
Ensure result page has loaded
Check for syntax errors in input
Verify page context is available
Objects showing as [object Object]
Use console.dir() or console.table() instead of console.log(): console . dir ( obj ); // Shows object structure
Advanced Usage
Custom Console Styling
console . log ( '%cStyled Text' , 'color: blue; font-size: 20px; font-weight: bold' );
console . log ( '%cError:' , 'color: red' , 'Something went wrong' );
Stack Traces
console . trace ( 'Trace point' );
// Shows call stack
performance . mark ( 'start' );
// ... code to measure ...
performance . mark ( 'end' );
performance . measure ( 'operation' , 'start' , 'end' );
console . log ( performance . getEntriesByType ( 'measure' ));