RoomsCode is a platform for live programming classes and presentations. The Host shares their screen and the code open in VS Code; viewers follow everything in real time and chat — without being able to edit anything.
On the home screen, click Host, enter your name and click Create room. You get a 6-character code, shown in the top bar (click it to copy).
Give the code to your viewers, or use the share button next to it to copy an invite link: anyone who opens the link arrives with the code already filled in.
Your name must have at least 4 characters. Viewers use @host to call you without typing your name, so they can't pick the name host.
Once the room is created, you can share your screen, your VS Code code or both, and keep track of who is watching.
Click Share screen and choose what to show. To finish, click Stop sharing.
Install the extension (Download extension button on the home screen). In VS Code, click RoomsCode in the status bar and paste the code copied with Copy extension code — never share that code with viewers. Your open tabs then appear for the class: the tab you are on gets a person icon and your cursor's line is highlighted.
With a folder open in VS Code (File → Open Folder) and the extension connected, viewers get a folder button next to the tabs. It opens the full tree of your project, names only, but only the files that are open in your tabs can be opened. Folders such as node_modules and .git appear blocked, with no contents. Note: the names of all files are visible, including sensitive ones (such as .env); a file's contents are only shared if you open it. With no folder open (just a single loose file), the button does not appear. If it does not show up, check that the extension is up to date.
Click a viewer's name to open the menu. The chat bubble restricts their chat (click again to allow it): they can no longer send messages, mentions or line quotes, but can still copy and download the code. The kick removes them from the room; a viewer who is kicked can come back, but with their chat already restricted.
At the top of the viewers panel there is a chat bubble button, just like the one in the individual menu. Click it to block everyone's chat at once (the bubble turns the site's color and gets cut through); click again to allow it. The block also applies to anyone who joins later and doesn't undo individual restrictions: viewers restricted one by one stay restricted until you allow them.
Tools that help you talk with the class during the lesson.
In the chat, @name or !user(name) mentions someone, and !code(line, file) quotes a line — or a range, like !code(1~12, file). Clicking a quote takes the person straight to the first quoted line. Whoever is mentioned hears a sound alert; when it's you, the extension also shows a VS Code notification for 5 seconds (keep the extension up to date).
To watch, you need the room code, which the Host gives to the class.
On the home screen, click Viewer, enter your name and the room code.
If the Host sent you a link, just open it: the code is already filled in and you only enter your name.
Your name must have at least 4 characters and can't be the same as anyone else in the room (including the Host, ignoring upper/lower case). The name host is reserved. If the name isn't accepted, a message explains why.
You follow the Host's screen and code in real time, and can move around them freely without bothering anyone.
The Host's screen appears on the left. With the mouse over it, use Fullscreen or Hide screen (to see only the code). Drag the divider between the panels to resize them.
Each tab is a file the Host has open; click to switch. The tab the Host is on has a person icon and their line is highlighted, even without Follow the Host; with that option on, you follow their tab and line automatically. Scroll the code freely and use the header buttons to copy or download the current file.
When the Host has a folder open in VS Code, a folder button appears next to the tabs. It opens the project tree: click a folder to open or close it (all start closed). You can only open files that the Host has open in their tabs; click them to jump straight to the tab. The others warn that the Host has not opened them, and folders with a padlock (such as node_modules) are blocked by default. The terminal button, in the corner of the directory, copies a command for the Windows CMD that recreates the folders and (empty) files wherever you paste it; anything that already exists is not overwritten.
Tools to take part in the lesson and deal with the unexpected.
In the chat, @name or !user(name) mentions someone, and @host calls the Host without typing their name; whoever is mentioned hears a sound alert. To quote code, use !code(line, file) (or !code(1~12, file) for a range) or select one or more lines in the code and click Quote line. Click a quote in the chat to jump straight to the first quoted line.
You can still see everything and copy and download the code, but you can't send messages, mentions or quotes until the Host allows it again. This applies both to a restriction on your chat alone and to blocking everyone's chat.
The site tries to reconnect on its own. If it's the Host who drops, you see a waiting notice and the room only closes if they don't come back in time.