Skip to content

MazyLawzey/websync-live

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WebSync Live

WebSync Live β€” VS Code extension for collaborative web development in education.
A teacher opens a session, students join and see code, preview, and cursor positions in real time β€” like CodeTogether + Live Server + Figma, all inside VS Code.


WebSync.mov

Features

Feature Description
πŸ”΄ Live Session Host creates a session, students join with a code
πŸ“ File Sync All workspace files are synced from host to students instantly
✏️ Incremental Edits Only changed ranges are sent β€” no cursor jumps, no full-file replacement
πŸ‘οΈ File Navigation Sync Host switches file β†’ students' editor follows automatically
πŸ–±οΈ Collaborative Cursors Figma-style colored cursors with names for all participants
πŸ’¬ Code Comments Add inline comments on any line, visible to everyone
🌐 Live Preview Built-in iframe preview with live reload on every save
πŸ”’ Role System Host Β· Admin Β· Editor Β· Viewer β€” each with different permissions
🌍 ngrok Tunnel Share your session over the internet through CG-NAT with one click
▢️ Code Runner Run Python, JS, C++, Go, Swift and more β€” output streams to built-in Console
πŸ“‚ Change Server Folder Switch the served root folder without restarting
🏷️ Status Bar Shows your nickname, session code and role at the bottom of VS Code

Roles

Role Edit Files Add Comments Change Roles Kick Users
Host βœ… βœ… βœ… βœ…
Admin βœ… βœ… βœ… (editors/viewers) βœ…
Editor βœ… βœ… ❌ ❌
Viewer ❌ ❌ ❌ ❌

Requirements

  • VS Code 1.85+
  • Node.js β€” bundled with VS Code (no extra install)
  • ngrok CLI (optional, only for internet sharing)
    Install: brew install ngrok (macOS) or download from ngrok.com/download

Getting Started

1. Download ngrok CLI!!!

Usage

Host (Teacher)

  1. Enter your display name
  2. Click Create Session
  3. Server starts automatically on http://localhost:3000
  4. Share the session code with students
    (or use 🌍 Share β†’ ngrok for internet access)
  5. Open any file β€” students see it in their editor instantly

Student

  1. Enter your display name and the session code
  2. Enter the server URL (e.g. ws://localhost:3000 or the ngrok WSS URL)
  3. Click Join Session
  4. Files are synced automatically β€” no setup needed
  5. Sometimes you need twice join session.

Internet Sharing (ngrok)

  1. Get a free auth token at dashboard.ngrok.com
  2. In the WebSync panel click 🌍 Share
  3. Paste your authtoken and click Start Tunnel
  4. Click πŸ“‹ Copy Join Info for Students β€” paste it to your students

Project Structure

websync-live/ β”œβ”€β”€ index.js # Extension entry point β”œβ”€β”€ package.json # Extension manifest β”œβ”€β”€ client/ β”‚ └── client.js # WebSocket client (EventEmitter) β”œβ”€β”€ server/ β”‚ └── server.js # Express + WebSocket server β”‚ └── server/ β”‚ β”œβ”€β”€ permissions/ # Role-based permission system β”‚ β”œβ”€β”€ code/ # Comment store β”‚ └── webview/ # Live reload injector └── ui/ β”œβ”€β”€ index.html # Sidebar webview UI └── public/ β”œβ”€β”€ main.js # Webview JS logic β”œβ”€β”€ style.css # Styles └── media.css # Media queries 

Commands

Command Description
Websync Live: Open Preview Open preview in a panel
Websync Live: Start Server Start the local server
Websync Live: Create Session Create a new session
Websync Live: Join Session Join with a code
Websync Live: Add Comment Add comment on current line
Websync Live: Change Server Folder Change the served root folder
Websync Live: Run Code Run the active file
Websync Live: Stop Code Stop the running process
Websync Live: Disconnect Leave the session

Authors


License

GPL-3.0


Marketplace

⚠️ Important Notice About VS Code Marketplace Version

If you installed our extension from the VS Code Marketplace, please read this before opening an issue.

The Marketplace version has significant limitations and restrictions, which may cause unexpected errors or missing functionality. These issues are often related to the Marketplace build itself and not the core project.

🚨 Before creating an issue, please make sure you are using the stable version from our official GitHub Releases.

The version published in GitHub Releases is the original and fully stable build without the limitations present in the Marketplace version. Ngrok is no longer available in russia, so use VPN. Or host your own server.

πŸ‘‰ Please download and install the extension directly from GitHub Releases for the best and most stable experience.

If the issue still persists after installing the GitHub release version, feel free to open an issue β€” we’ll be happy to help.

Thank you for your understanding and support!

About

Real-time collaborative web development extension for VS Code. Share your workspace with students or colleagues, sync code, preview, and cursor positions instantly. πŸ”₯πŸ”₯πŸ”₯

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors