Overview Version History Q & A Rating & Review
TabSync - Real-time Tab and Cursor Synchronization
TabSync is a VS Code extension that enables real-time synchronization of tabs and cursor positions between multiple VS Code instances. Perfect for collaborative coding, presentations, or working across multiple devices.
Features
Host/Guest Sessions : One person hosts a session, others join as guests
Real-time Tab Sync : Automatically sync opened/closed tabs across all connected instances
Cursor Position Sync : See cursor movements and selections in real-time
File Structure Validation : Automatically handles missing files with helpful error messages
Status Bar Integration : Clear visual indication of session status
Easy Connection : Simple WebSocket-based connection with auto-generated URLs
Quick Start
Starting a Host Session
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Run TabSync: Start Host Session
The extension will start a local server and display connection details
Share the connection URL with guests
Joining as a Guest
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Run TabSync: Join as Guest
Enter the host's WebSocket URL (e.g., ws://localhost:8080/tabsync)
Your tabs and cursor will now sync with the host
Managing Sessions
Check Status : Run TabSync: Show Status to see current session details
Stop Session : Run TabSync: Stop Session to disconnect and stop syncing
How It Works
Host Mode : Creates a WebSocket server on an available port (starting from 8080)
Guest Mode : Connects to the host's WebSocket server
Synchronization :
Tab changes (open/close/switch) are broadcast from host to all guests
Cursor movements and selections are synced in real-time
File paths are resolved relative to workspace root
Requirements
VS Code 1.105.0 or higher
Both host and guests must have the same project structure
Network connectivity between host and guests
Commands
Command
Description
TabSync: Start Host Session
Start hosting a sync session
TabSync: Join as Guest
Connect to an existing host session
TabSync: Stop Session
Stop current session (host or guest)
TabSync: Show Status
Display current session information
Status Bar Integration
The extension adds a status indicator to your status bar:
$(broadcast) TabSync Host:8080 - When hosting a session
$(plug) TabSync Guest - When connected as a guest
$(circle-large-outline) TabSync - When inactive
File Handling
When a guest cannot find a file that the host is trying to sync:
An error document is created explaining the missing file
The relative path and expected location are displayed
No crashes or data loss occurs
Known Issues
Only works with file:// scheme documents (not untitled documents)
Requires same workspace folder structure between host and guests
Currently one-way sync (host → guests only)
Troubleshooting
Connection Issues
Ensure firewall allows connections on the specified port
Verify both host and guest are on the same network (for localhost connections)
Check that the WebSocket URL is correctly formatted
File Not Found Errors
Ensure both host and guest have identical project structures
Verify workspace folders are opened at the same level
Check file permissions and accessibility
Roadmap
[ ] Bidirectional synchronization
[ ] Multiple cursor support
[ ] Remote connection support (beyond localhost)
[ ] Session authentication
[ ] Custom port configuration
[ ] Selective file sync options
Release Notes
0.0.1
Initial release with core synchronization features:
Host/Guest session management
Real-time tab synchronization
Cursor position and selection sync
WebSocket-based communication
Status bar integration
Error handling for missing files
Enjoy collaborative coding with TabSync!