-
Notifications
You must be signed in to change notification settings - Fork 4
Description
VS Code: Remote Development
The VS Code team does a lot of effort on remote development.
Remote Development using VS Code desktop client
This feature allows you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
This feature requires Remote Development extension pack.
- Remote - SSH - Work with source code in any location by opening folders on a remote machine/VM using SSH.
- Remote - Tunnels - Work with source code in any location by opening folders on a remote machine/VM using a VS Code Tunnel (rather than SSH).
- Dev Containers - Work with a separate toolchain or container based application by opening any folder mounted into or inside a container.
- WSL - Get a Linux-powered development experience from the comfort of Windows by opening any folder in the Windows Subsystem for Linux.
Standalone "VS Code Server”
The VS Code now provides a standalone "VS Code Server," which is a service built off the same underlying server used by the remote extensions, plus some additional functionality, , like an interactive CLI and facilitating secure connections to vscode.dev.
Three application modes
As described in How-to-Contribute, the VS Code can be run in three modes.
Desktop
Running on Electron with extensions run in NodeJS:
macOS and Linux
./scripts/code.sh
./scripts/code-cli.sh # for running CLI commands (eg --version)
Windows
.\scripts\code.bat
.\scripts\code-cli.bat
VS Code for the Web
Extensions and UI run in the browser.
macOS and Linux
./scripts/code-web.sh
Windows
.\scripts\code-web.bat
Code Server Web
UI in the browser, extensions run in code server (NodeJS):
macOS and Linux
./scripts/code-server.sh --launch
Windows
.\scripts\code-server.bat --launch
Some speculation about the Code Server Web
- Remove the Renderer Process
- Provide an http server to serve web page and others web resources
- Use http and WebSocket (provides a WebSocket Server) for communication
- Provide browser based version of some services.
Some observations about the Code Server Web
Use the same WebSocket connection for command, data and terminal communication.
Open Folder
Read dir:
Output
Open File
Read File
Output:
Update File
Terminal command
Terminal input
Output