A lightweight desktop code editor built with Electron, TypeScript, and Monaco Editor.
- Monaco editor with syntax highlighting for JavaScript, TypeScript, HTML, CSS, JSON, Julia, Markdown, and more
- File explorer with create/rename/delete support and context menu
- Tabbed editing with unsaved change indicators
- Autosave (every 15 seconds, configurable in settings)
- Close confirmation dialog for unsaved files
- Integrated terminal (opens in current folder root)
- Debug Console with console.log/error/warn interception and runtime error capture
- Settings window — separate Electron window with autosave, log level, git config, and auto-update settings
- Git integration — source control panel with stage/unstage/commit, init repository button
- GitHub & GitLab integration — clone from any remote URL, push, pull, fetch
- Git publish button — push branch to remote with -u origin when no remote is set
- Git commit history — view last 50 commits with hash, author, date, and message
- Git settings — user.name and user.email configuration in settings window
- Resizable bottom panel — drag to resize terminal/debug console
- Command palette (Ctrl+Shift+P) — fuzzy search and execute commands
- Global file search (Ctrl+P) — fuzzy find files by name across project
- Markdown support — .md files render as formatted preview via Run button
- Run file button — execute JS/TS files, preview markdown
- Julia language support — syntax highlighting for .jl files
- TypeScript language support — syntax highlighting for .ts and .tsx files
- Auto-update — checks GitHub releases, downloads and installs pre-built binaries (no npm required)
- Auto-update respects insider channel — matches -insider tags for insider builds
- Persistent config and daily logs in
~/.voidscode/ - Insider version tagging with badge
- Custom file icons for JavaScript, TypeScript, and Julia files in
src/lang/ - Drag & drop file open — drop files from OS explorer onto the editor area
- Double-click folder to create a new file inside it
- Find & replace in file (Ctrl+F / Ctrl+H)
- Find across files (Ctrl+Shift+F) — content search with grouped results
- Keyboard shortcuts settings — rebindable, persisted in config
- Code folding in Monaco editor — indentation-based folding with command palette actions
- HTML live preview — open .html files and click run button to toggle rendered iframe preview
- Go to Releases
- Download the latest
Void SuperCode Setup x.x.x.exe - Run the installer and follow the setup wizard
- Launch Void SuperCode from the Start Menu or desktop shortcut
If you prefer no installation:
- Download
void-supercode-x.x.x-win.zipfrom Releases - Extract the zip to any folder
- Run
Void SuperCode.exe
- Open a folder — Click the folder icon in the sidebar (or
Ctrl+O) to open a project folder - Open files — Double-click any file in the explorer to open it in a tab
- Search files — Press
Ctrl+Pand type a filename to quickly find any file in your project - Command palette — Press
Ctrl+Shift+Pto search and run commands (save, git, toggle views, etc.) - Run a file — Open a
.jsor.tsfile and click the▶button at the top-left of the editor to execute it. Output appears in the Debug Console. - Markdown preview — Open a
.mdfile and click▶to toggle between editor and rendered preview - Terminal — Click the Terminal tab at the bottom to open an integrated terminal in your project folder
- Git — Click the source control icon in the activity bar to stage, commit, push, and pull changes
- Settings — Click the gear icon to open the settings window (autosave, log level, git config, auto-update)
git clone https://github.com/bouclem/Void-SuperCode.git
cd Void-SuperCode
npm install
npm startThis compiles TypeScript and launches the app in development mode.
npm install
npm run distThis will:
- Compile all TypeScript source files
- Copy assets (HTML, CSS, icons, Monaco, xterm)
- Package everything with electron-builder
- Output the installer and portable zip to the
release/folder
Output files in release/:
Void SuperCode Setup x.x.x.exe— NSIS installer with desktop/start menu shortcutsvoid-supercode-x.x.x-win.zip— portable version (no install needed)
# 1. Create a GitHub Personal Access Token with "repo" scope
# https://github.com/settings/tokens
# 2. Set it as an environment variable
set GH_TOKEN=your_token_here
# 3. Tag the release (use -insider suffix for insider builds)
git tag v0.1.1-insider
git push origin v0.1.1-insider
# 4. Build and publish
npm run releaseThis builds the .exe and .zip, creates a GitHub Release with the tag, and uploads both files as assets.
# 1. Build the binaries
npm run dist
# 2. Go to GitHub:
# https://github.com/bouclem/Void-SuperCode/releases/new
# 3. Create tag: v0.1.1-insider
# 4. Upload files from release/ folder:
# - Void SuperCode Setup 0.1.1.exe
# - void-supercode-0.1.1-win.zip
# 5. Add release notes and publish| Release type | package.json version |
Tag | releaseChannel |
|---|---|---|---|
| Insider build | 0.1.1 |
v0.1.1-insider |
insider |
| Stable release | 0.1.1 |
v0.1.1 |
stable |
The auto-update system matches tags based on the
releaseChannelfield. Insider builds only get-insidertags, stable builds only get plain version tags.
- Electron — desktop application framework
- TypeScript — type-safe development
- Monaco Editor — the same editor that powers VS Code
- xterm.js — terminal frontend
- node-pty — pseudo-terminal backend
- electron-builder — packaging and auto-update distribution
src/
main/ Electron main process (window, IPC, terminal, git, logging, config, auto-update)
main.ts App entry, IPC handlers
preload.ts Context bridge for renderer
terminal.ts PTY management for integrated terminal
git.ts Git status, stage, unstage, commit, push, pull, fetch, clone, log, publish
logger.ts Daily log files with level filtering
voidscode.ts Config and .voidscode directory management
auto-update.ts Run file, file search, GitHub release check and binary install
renderer/
modules/ UI logic split by feature
app/ App init, activity bar, sidebar/panel control, command registration
editor/ Monaco editor integration
tabs/ Tab management with close confirmation
file-explorer/ File tree, create/open/rename/delete files, drag & drop
welcome/ Welcome page
debug-console/ Debug console with console interception
autosave/ Periodic autosave
settings/ Settings window launcher
terminal/ xterm.js terminal frontend
git/ Source control panel (status, stage, commit, push, pull, fetch, clone, history)
command-palette/ Ctrl+Shift+P command fuzzy search
file-search/ Ctrl+P global file fuzzy search
markdown/ Markdown preview renderer
run-file/ Run/preview button handler
auto-update/ Update check, download, install progress UI
find-in-files/ Find across files (Ctrl+Shift+F)
shortcuts/ Rebindable keyboard shortcuts
settings-screen/ Settings screen UI
code-folding/ Code folding commands (fold/unfold all, toggle, levels)
html-preview/ HTML live preview via sandboxed iframe
types/ TypeScript declaration files (globals, window interfaces)
icons/ SVG icons for sidebar, activity bar, and file tree
index.html Main renderer HTML
style.css CSS entry point (imports from styles/)
styles/ Split CSS files (base, editor, sidebar, bottom-panel, git, modal, features)
lang/
javascript/ JavaScript language support (config, icons)
julia/ Julia language support (config, icons)
typescript/ TypeScript language support (config, icons)
docs/ Project documentation
release/ Build output (gitignored)
MIT