Skip to content
forked from coder/sshcode

Run VS Code on any server over SSH.

License

Notifications You must be signed in to change notification settings

vadimiljin/sshcode

 
 

Repository files navigation

sshcode

"Open Issues" "Latest Release" 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.

Demo

Install

Have Chrome installed for the best experience.

Install with go:

go get -u go.coder.com/sshcode

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.

Usage

sshcode kyle@dev.kwc.io
# 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 kyle@dev.kwc.io "~/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:

MacOS

export VSCODE_CONFIG_DIR="$HOME/Library/Application Support/Code - Insiders/User"
export VSCODE_EXTENSIONS_DIR="$HOME/.vscode-insiders/extensions"

Linux

export VSCODE_CONFIG_DIR="$HOME/.config/Code - Insiders/User"
export VSCODE_EXTENSIONS_DIR="$HOME/.vscode-insiders/extensions"

Sync-back

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.

About

Run VS Code on any server over SSH.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.0%
  • Shell 3.5%
  • Dockerfile 0.5%