I asked Google if VS Code-Server was a client / server relationship.
Quote from: GoogleYes, when using code-server, most of the work is offloaded to the client's web browser. This means that code-server runs the VS Code UI and user interaction within the browser, while the core VS Code server processes run on the remote server. This allows for a responsive and native-like VS Code experience in the browser, even when running on a remote server.
Here's a more detailed explanation:
Client-side UI:
code-server's user interface and interaction are handled entirely in the client's web browser.
Server-side processing:
The actual code execution, file system operations, and extension handling are performed on the remote server where code-server is installed.
WebSockets communication:
A bidirectional communication channel (using WebSockets) is established between the client browser and the remote server. This allows the server to send updates to the client's UI and receive commands from the client.
Remote development:
This architecture enables remote development, allowing developers to work on projects on a server without needing to install VS Code locally on their machine.
Native-like experience:
The client-side UI and server-side processing work together to provide a smooth and responsive experience that is similar to using VS Code natively.
I see about 60 MB of memory used per VC Code session it's hosting on the 🍊 Pi Zero.
I have done a bit of research about the ability to use VS Code-Server with multiple sessions. It seems from what I've read it is a one on one relationship. My extensive testing has shown on the 🍊 Pi Zero, I'm able to run multiple VS Code sessions working independent on different files or collaboratively on the same file. I haven't seen any flaws or corruption. Attached is four VS Code sessions running in a threaded model under the main process code-sever.
The goal of the 🍊 Pi Zero is to allow the owner to share their workspace collaboratively with others. (peers / supervisors) I'm hoping to find a company willing to give this a try in their environment.
VS Code-Server is a feature rich editor. The problem with it is it uses a lot of memory and sessions aren't terminated after the user logs out of their browser session.
I'm not a fan of NodeJS and this is good reason why. It never seems to keep its promises.
I'm currently looking for an alternative.
I have
VS Code installed on my Windows 10 Pro laptop with
Supermaven Copilot which I really like. It runs well native and I can access the files on the 🍊 Pi Zero or AWS S3 using
Samba to make it look like a Windows Server on the local network.
The 🍊 Pi will provide the following services.
- Ubuntu 24.04 64 bit server.
- Webmin control panel
- Apache web server
- MariaDB (MySQL)
- Postgres SQL
MariaDB and Postgres SQL are both available to the local network via an ODBC connection for Windows users.