Run VS Code on any server over SSH.
The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:
This project has been deprecated in favour of the code-server install script
See the discussion in #185
sshcodeis a CLI to automatically install and run code-server over SSH.
It uploads your extensions and settings automatically, so you can seamlessly use remote servers as VS Code hosts.
If you have Chrome installed, it opens the browser in app mode. That means there's no keybind conflicts, address bar, or indication that you're coding within a browser. It feels just like native VS Code.
Have Chrome installed for the best experience.
go get -u go.coder.com/sshcode
Or, grab a pre-built binary.
We currently support: - Linux - MacOS - WSL
For the remote server, we currently only support Linux
x86_64(64-bit) servers with
musllibc (which is most notably used by Alpine Linux) is currently not supported on the remote server: #122.
sshcode [email protected] # Starts code-server on dev.kwc.io and opens in a new browser window.
You can specify a remote directory as the second argument:
sshcode [email protected] "~/projects/sourcegraph"
rsyncyour local VS Code settings and extensions to the remote server every time you connect.
This operation may take a while on a slow connections, but will be fast on follow-up connections to the same server.
To disable this feature entirely, pass the
If you're using an alternate release of VS Code such as VS Code Insiders, you must specify your settings directories through the
The following will make
sshcodework with VS Code Insiders:
export VSCODE_CONFIG_DIR="$HOME/Library/Application Support/Code - Insiders/User" export VSCODE_EXTENSIONS_DIR="$HOME/.vscode-insiders/extensions"
export VSCODE_CONFIG_DIR="$HOME/.config/Code - Insiders/User" export VSCODE_EXTENSIONS_DIR="$HOME/.vscode-insiders/extensions"
By default, VS Code changes on the remote server won't be synced back when the connection closes. To synchronize back to local when the connection ends, pass the