Coder Vai - Multi-Language Code Runner & Theme Suite
Execute 11+ programming languages instantly in VS Code! Run Python, JavaScript, TypeScript, Java, Rust, Go, Kotlin, Dart, and Assembly (AVR/x86/ARM) code directly in your editor with powerful WebAssembly and browser-based execution.
Plus: Beautiful themes and customizable fonts to make your coding experience perfect! 🎨

✨ Features
🎨 Beautiful Themes & Customization
10 Stunning Color Themes - From dark to light, ocean to neon
- 🌙 Coder Vai Dark - Purple and blue accents
- ☀️ Coder Vai Light - Clean blue accents
- 🌊 Coder Vai Ocean - Cyan highlights
- 🌲 Coder Vai Forest - Green tones
- 🌅 Coder Vai Sunset - Pink and orange
- ⚡ Coder Vai Neon - Vibrant cyberpunk
- 🎨 Coder Vai Monokai - Classic favorite
- ❄️ Coder Vai Nord - Cool Nordic
- 🧛 Coder Vai Dracula - Popular dark theme
- 💜 Coder Vai Purple Haze - Deep purple with pink
15 Premium Coding Fonts - Choose your perfect font
- 💎 Fira Code, ✨ JetBrains Mono, 🎯 Cascadia Code
- 📝 Source Code Pro, 🔷 Consolas, 🍎 Monaco
- And 9 more professional coding fonts!
Full Font Customization
- Font size, weight, line height
- Letter spacing, ligatures
- Separate editor and output fonts
🌐 Browser-Based Execution (No Installation Required!)
- Python - Pyodide-powered browser execution
- JavaScript - Native Node.js runtime
- TypeScript - Compile and run TypeScript instantly
🖥️ Assembly Language Simulators
- AVR Assembly - Full AVR instruction simulator with register tracking
- x86 Assembly - x86 instruction trace simulator with interrupt handling
- ARM Assembly - ARM instruction simulator
☁️ Remote Execution (Judge0/Piston API)
- Java - Full Java compilation and execution
- Kotlin - Modern JVM language support
- Rust - Systems programming with Cargo
- Go - Fast compiled Go code
- Dart - Flutter-ready Dart execution
🎯 Quick Start
Installation
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Search for "Coder Vai"
- Click Install
Running Code
- Open any supported code file
- Press
Ctrl+Shift+R (or click the ▶️ Run button)
- See instant results in the output panel!
Customizing Your Experience
- Press
Ctrl+Shift+P
- Type "Set Color Theme" to choose from 10 beautiful themes 🎨
- Type "Set Font" to pick from 15 premium coding fonts 🔤
Keyboard Shortcuts
- Run Code:
Ctrl+Shift+R / Cmd+Shift+R
- Open Compiler Panel:
Ctrl+Shift+O / Cmd+Shift+O
- Stop Execution:
Ctrl+Shift+S / Cmd+Shift+S
- Set Color Theme:
Ctrl+Shift+P → "Set Color Theme"
- Set Font:
Ctrl+Shift+P → "Set Font"
- Select Language:
Ctrl+Shift+P → "Select Language"
🛠️ Supported Languages
| Language |
Execution Method |
Features |
| 🐍 Python |
Pyodide (WASM) |
NumPy, Pandas, Matplotlib support |
| 🟨 JavaScript |
Node.js |
ES6+, async/await |
| 🔷 TypeScript |
TS Compiler |
Type checking, decorators |
| ☕ Java |
Judge0 API |
JDK 11+, full OOP |
| 🦀 Rust |
Piston API |
Cargo, std library |
| 🐹 Go |
Piston API |
Goroutines, channels |
| 🅺 Kotlin |
Judge0 API |
Coroutines, null safety |
| 🎯 Dart |
Piston API |
Flutter-ready |
| ⚙️ AVR Assembly |
Simulator |
14+ opcodes, register tracking |
| 📟 x86 Assembly |
Simulator |
DOS/BIOS interrupts |
| 🤖 ARM Assembly |
Simulator |
ARM instruction set |
⚙️ Configuration
Access settings via File > Preferences > Settings > Coder Vai or press Ctrl+, and search for "Coder Vai"
🎨 Theme & Font Settings
{
"coder-vai.editorFontFamily": "Fira Code",
"coder-vai.editorFontSize": 14,
"coder-vai.editorFontWeight": "normal",
"coder-vai.editorLineHeight": 1.6,
"coder-vai.editorLetterSpacing": 0,
"coder-vai.enableFontLigatures": true,
"coder-vai.outputFontFamily": "Consolas",
"coder-vai.outputFontSize": 12
}
⚡ Execution Settings
{
"coder-vai.executionTimeout": 30000,
"coder-vai.autoShowOutput": true,
"coder-vai.clearOutputBeforeRun": true,
"coder-vai.autoSaveBeforeRun": true,
"coder-vai.preserveFocus": false
}
🎨 Display Settings
{
"coder-vai.maxOutputLines": 10000,
"coder-vai.showExecutionTime": true
}
🔧 Advanced Settings
{
"coder-vai.memoryLimit": 512,
"coder-vai.assembly.cycleLimit": 10000,
"coder-vai.advanced.debugMode": false,
"coder-vai.advanced.retryAttempts": 3
}
🎨 Theme Gallery
Coder Vai includes 10 carefully crafted color themes to match your coding style:
| Theme |
Style |
Best For |
| 🌙 Coder Vai Dark |
Dark with purple/blue |
Long coding sessions |
| ☀️ Coder Vai Light |
Clean light theme |
Bright environments |
| 🌊 Coder Vai Ocean |
Deep blue with cyan |
Focus and concentration |
| 🌲 Coder Vai Forest |
Dark green tones |
Natural, easy on eyes |
| 🌅 Coder Vai Sunset |
Warm pink/orange |
Creative coding |
| ⚡ Coder Vai Neon |
Vibrant cyberpunk |
Modern, energetic |
| 🎨 Coder Vai Monokai |
Classic Monokai |
Familiar favorite |
| ❄️ Coder Vai Nord |
Cool Nordic palette |
Clean and minimal |
| 🧛 Coder Vai Dracula |
Popular dark theme |
Low contrast comfort |
| 💜 Coder Vai Purple Haze |
Deep purple/pink |
Stylish and unique |
Switch themes instantly: Press Ctrl+Shift+P → Type "Set Color Theme"
🔤 Font Options
Choose from 15 professional coding fonts designed for readability and style:
| Font |
Features |
Best For |
| 💎 Fira Code |
Programming ligatures |
Modern code with symbols |
| ✨ JetBrains Mono |
Developer-focused design |
All-around coding |
| 🎯 Cascadia Code |
Microsoft's ligature font |
Windows developers |
| 📝 Source Code Pro |
Adobe's elegant design |
Clean, professional look |
| 🔷 Consolas |
Windows classic |
Familiarity and clarity |
| 🍎 Monaco |
Apple's traditional font |
macOS users |
| 🌟 Menlo |
Refined monospaced |
macOS coding |
| 🐧 Ubuntu Mono |
Linux-friendly |
Ubuntu developers |
| 🤖 Roboto Mono |
Google's geometric font |
Material Design fans |
| ⚡ Hack |
Open source for code |
High readability |
...and 5 more! Change fonts instantly: Press Ctrl+Shift+P → Type "Set Font"
📝 Code Examples
Simple, practical examples to get you started with each language:
🐍 Python
# Calculate factorial
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)
print(f"Factorial of 5 = {factorial(5)}")
# Output: Factorial of 5 = 120
🟨 JavaScript
// Array manipulation
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(n => n * 2);
const sum = doubled.reduce((a, b) => a + b, 0);
console.log('Doubled:', doubled);
console.log('Sum:', sum);
// Output: Doubled: [2, 4, 6, 8, 10]
// Output: Sum: 30
🔷 TypeScript
// Type-safe function
interface User {
name: string;
age: number;
}
function greetUser(user: User): string {
return `Hello, ${user.name}! You are ${user.age} years old.`;
}
const user: User = { name: "Alice", age: 25 };
console.log(greetUser(user));
// Output: Hello, Alice! You are 25 years old.
☕ Java
// Simple class with methods
public class Calculator {
public static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = add(10, 20);
System.out.println("10 + 20 = " + result);
}
}
// Output: 10 + 20 = 30
🦀 Rust
// Vector operations
fn main() {
let numbers = vec![1, 2, 3, 4, 5];
let sum: i32 = numbers.iter().sum();
let product: i32 = numbers.iter().product();
println!("Numbers: {:?}", numbers);
println!("Sum: {}, Product: {}", sum, product);
}
// Output: Numbers: [1, 2, 3, 4, 5]
// Output: Sum: 15, Product: 120
🐹 Go
// Simple function
package main
import "fmt"
func fibonacci(n int) int {
if n <= 1 {
return n
}
return fibonacci(n-1) + fibonacci(n-2)
}
func main() {
fmt.Println("Fibonacci(7) =", fibonacci(7))
}
// Output: Fibonacci(7) = 13
🅺 Kotlin
// Data class and list operations
data class Person(val name: String, val age: Int)
fun main() {
val people = listOf(
Person("Alice", 25),
Person("Bob", 30)
)
people.forEach { println("${it.name} is ${it.age}") }
}
// Output: Alice is 25
// Output: Bob is 30
🎯 Dart
// Class with methods
class Rectangle {
double width, height;
Rectangle(this.width, this.height);
double get area => width * height;
}
void main() {
var rect = Rectangle(5, 10);
print('Area: ${rect.area}');
}
// Output: Area: 50.0
⚙️ AVR Assembly
; Simple LED blink simulation
LDI R16, 0xFF ; Load 255 into R16
OUT PORTB, R16 ; Output to PORTB (turn on)
LDI R16, 0x00 ; Load 0 into R16
OUT PORTB, R16 ; Output to PORTB (turn off)
HLT ; Halt
📟 x86 Assembly
; Count from 1 to 5
section .text
global _start
_start:
mov ecx, 1 ; Counter = 1
loop_start:
inc ecx ; Increment counter
cmp ecx, 5 ; Compare with 5
jle loop_start ; Jump if less or equal
; Exit
🤖 ARM Assembly
; Simple addition
.global _start
_start:
MOV R0, [#10](https://github.com/umorfaruksupto/coder-vai/issues/10) @ Load 10 into R0
MOV R1, [#20](https://github.com/umorfaruksupto/coder-vai/issues/20) @ Load 20 into R1
ADD R2, R0, R1 @ R2 = R0 + R1
@ R2 now contains 30
� Future Plans
- Swift Support - Native Swift execution with WebAssembly compiler
- C/C++ Local Execution - Emscripten-based local compilation
- Python Package Manager - Micropip integration for installing packages
- Debugging Support - Step-through debugging for interpreted languages
- AI Code Assistant - Integrated coding help (planned)
� Tips & Tricks
Theme Switching
- Try different themes for different times of day
- Use Ocean or Forest for late-night coding
- Switch to Light theme for outdoor/bright environments
Font Optimization
- Enable ligatures for fonts like Fira Code, JetBrains Mono, Cascadia Code
- Adjust line height (1.5-1.8) for better readability
- Increase letter spacing (0.5-1) if text feels cramped
- Use
clearOutputBeforeRun: true for cleaner output
- Set appropriate
executionTimeout for long-running code
- Enable
autoSaveBeforeRun to prevent losing changes
📞 Support
- Issues: Report bugs or request features on GitHub
- Email: umorfaruksupto@gmail.com
Tribute
In the memory of my Aunt, who left us unexpectedly due to a road accident, this project is dedicated to her. I request everyone to pray for her departed soul. May Almighty forgive her and grant her a place in Jannah
Developed by Umor Faruk Supto (@umorfaruksupto)
Quick Links