EduBASIC

Syntax highlighting and a bundled EduBASIC IDE for VS Code and Cursor.
Edit .bas programs and .ebon data files with accurate highlighting, then open the full EduBASIC environment (editor, console, graphics, audio) in an editor tab — no separate install, npx serve, or system browser.
About EduBASIC
EduBASIC (pronounced EE-doo or ED-yoo BASIC) is a modern BASIC dialect with retro roots. EduBASIC is designed for students to learn programming skills and explore the arts, natural sciences, and mathematics. Unlike professional programming languages, which are quite flexible and capable of implementing any sort of software, EduBASIC never leaves its walled garden. But within, we can easily create simple multi-media demos, simulations, proofs, MIDI music, and games. EduBASIC aims to make it as easy as possible to create simple software and implement algorithms.
EduBASIC includes a rich collection of program statements (75 different commands that cover variable manipulation, control flow, error handling, console I/O, graphics, and music). EduBASIC also provides a rich set of arithmetic, logic, array, and string operators (78 in total).
Features
- Bundled IDE — Command Palette → EduBASIC: Open EduBASIC IDE (one EduBASIC tab; title
EduBASIC, no URL bar)
- Load / Run — send a
.bas or .disk into that instance; Run loads then Start (same as Games in the app)
.bas syntax highlighting — keywords, sigils, literals, string templates, and comments
.ebon / .sprite / .sample syntax highlighting — EduBASIC Object Notation (structures, arrays, sigils, &H hex, TRUE% / FALSE%); { / [ indent, fold, and bracket colors
- EBON snippets — structure, array, members (
% # $ &), and every scalar literal form (decimal / &H / &B integers, real, complex, string)
- Statement snippets — one fullest-form starter per statement (Tab through optionals such as
LOCAL or FILLED, Delete to drop them)
- Indent and folding — 4-space blocks; Enter after
IF / FOR / SUB / … (and after { / [ in .ebon) indents; END IF / NEXT / … outdent
- Word selection — double-click includes type sigils and array rank (
score%, INKEY$[])
- File icons —
.bas and .disk use the EduBASIC logo; .ebon uses the logo on a data-file document; .sprite adds a checkerboard; .sample adds a speaker
- Editor toolbar — Run in EduBASIC IDE when a
.bas or .disk file is active
- Offline-capable — same production build as edu-basic-offline.zip
Quick start
- Install the extension.
- Open a
.bas file (language mode EduBASIC).
- Run EduBASIC: Open EduBASIC IDE from the Command Palette for an empty disk, or click the play icon to Run the current file.
- Use Load in EduBASIC IDE from the explorer or editor context menu to load without starting.
Closing the EduBASIC tab disposes that instance (next Open is a new empty disk). Switching to another tab in the group keeps the IDE, disk, and audio running.
Example program:
LET score% = 0
LET gameState$ = "playing"
DO WHILE gameState$ = "playing"
CALL PlayRound
LOOP
Learn more
License
MIT — see LICENSE.