No Description

Colin ceab32b3ee Merge pull request #157 from hassieswift621/master 12 hours ago
.sail 5fad5953c4 Add flag to sync extensions back to local 7 months ago
ci 6277c6bb04 Update tarname and tar option for ci build 2 months ago
.gitignore dbc0ff5e15 Add a --bind flag for local port (#82) 7 months ago
.travis.yml 326938c855 Add a sanity test 7 months ago
LICENSE 95d4a0df1c Add LICENSE 7 months ago 780633703d add remote OS support paragraph to README 5 months ago
demo.gif f779ba4cea Initial commit 7 months ago
go.mod 7e6845d1bd Update deps 2 months ago
go.sum 7e6845d1bd Update deps 2 months ago
main.go c8e4017bc8 Rename --code-server-path to --upload-code-server 3 months ago
settings.go dcd29f0390 Allow specifying alternate VS Code settings dirs 7 months ago
sshcode.go 7ebef26504 Remove duplicated word from sync user settings error 2 days ago
sshcode_test.go 5ea05ebdfa Solves proxy issue, closes #74 when proxy is set at .profile 5 months ago


MIT license Discord Build Status

sshcode is 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.

Install with go:

go get -u

Or, grab a pre-built binary.

OS Support

We currently support:

  • Linux
  • MacOS
  • WSL

For the remote server, we currently only support Linux x86_64 (64-bit) servers with glibc. musl libc (which is most notably used by Alpine Linux) is currently not supported on the remote server: #122.


# Starts code-server on and opens in a new browser window.

You can specify a remote directory as the second argument:

sshcode "~/projects/sourcegraph"

Extensions & Settings Sync

By default, sshcode will rsync your 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 --skipsync flag.

Custom settings directories

If you're using an alternate release of VS Code such as VS Code Insiders, you must specify your settings directories through the VSCODE_CONFIG_DIR and VSCODE_EXTENSIONS_DIR environment variables.

The following will make sshcode work 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 -b flag.