- Notifications
You must be signed in to change notification settings - Fork0
Run VS Code on a remote server.
License
lfx/code-server
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
code-server
isVS Code running on aremote server, accessible through the browser.
Try it out:
docker run -it -p 127.0.0.1:8080:8080 -v"$PWD:/home/coder/project" codercom/code-server
- Consistent environment: Code on your Chromebook, tablet, and laptop with aconsistent dev environment. develop more easily for Linux if you have aWindows or Mac, and pick up where you left off when switching workstations.
- Server-powered: Take advantage of large cloud servers to speed up tests,compilations, downloads, and more. Preserve battery life when you're on the gosince all intensive computation runs on your server.
- 64-bit host.
- At least 1GB of RAM.
- 2 cores or more are recommended (1 core works but not optimally).
- Secure connection over HTTPS or localhost (required for service workers).
- For Linux: GLIBC 2.17 or later and GLIBCXX 3.4.15 or later.
- Docker (for Docker versions of
code-server
).
Usesshcode for a simple setup.
See the Docker one-liner mentioned above. Dockerfile is at/Dockerfile.
To debug Golang using thems-vscode-go extension,you need to add--security-opt seccomp=unconfined
to yourdocker run
arguments when launching code-server with Docker. See#725 for details.
- Download a binary. (Linux andOS X supported. Windows coming soon)
- Unpack the downloaded file then run the binary.
- In your browser navigate to
localhost:8080
.
- For self-hosting and other information seedoc/quickstart.md.
- For hosting on cloud platforms seedoc/deploy.md.
SeeVS Code's prerequisitesbefore building.
export OUT=/path/to/output/build# Optional if only building. Required if also developing.yarn build$vscodeVersion$codeServerVersion# See scripts/ci.bash for the VS Code version to use.# The code-server version can be anything you want.node /path/to/output/build/out/vs/server/main.js# You can run the built JavaScript with Node.yarn binary$vscodeVersion$codeServerVersion# Or you can package it into a binary.
By defaultcode-server
enables password authentication using a randomlygenerated password. You can set thePASSWORD
environment variable to use yourown instead or use--auth none
to disable password authentication.
Do not exposecode-server
to the open internet without some form ofauthentication.
If you aren't doing SSL termination elsewhere you can directly givecode-server
a certificate withcode-server --cert
followed by the path toyour certificate. Additionally, you can use certificate keys with--cert-key
followed by the path to your key. If you pass--cert
without any pathcode-server
will generate a self-signed certificate.
Ifcode-server
has been passed a certificate it will also respond to HTTPSrequests and will redirect all HTTP requests to HTTPS. Otherwise it will respondonly to HTTP requests.
You can useLet's Encrypt to get an SSL certificatefor free.
Do not exposecode-server
to the open internet without SSL, whether built-inor through a proxy.
- Creating custom VS Code extensions and debugging them doesn't work.
- Extension profiling and tips are currently disabled.
- Stay up to date! Get notified about new releases of code-server.
- Windows support.
- Electron and Chrome OS applications to bridge the gap between local<->remote.
- Run VS Code unit tests against our builds to ensure features work as expected.
code-server does not provide access to the officialVisual Studio Marketplace. Instead,Coder has created a custom extension marketplace that we manage for open-sourceextensions. If you want to use an extension with code-server that we do not havein our marketplace please look for a release in the extension’s repository,contact us to see if we have one in the works or, if you build an extensionlocally from open source, you can copy it to theextensions
folder. If youbuild one locally from open-source please contribute it to the project and letus know so we can give you props! If you have your own custom marketplace, it ispossible to point code-server to it by setting theSERVICE_URL
andITEM_URL
environment variables.
Use the--disable-telemetry
flag to completely disable telemetry. We use thedata collected to improve code-server.
SeeVS Code's prerequisitesbefore developing.
git clone https://github.com/microsoft/vscodecd vscodegit checkout${vscodeVersion}# See scripts/ci.bash for the version to use.yarngit clone https://github.com/cdr/code-server src/vs/servercd src/vs/serveryarnyarn patch:applyyarn watch# Wait for the initial compilation to complete (it will say "Finished compilation").# Run the next command in another shell.yarn start# Visit http://localhost:8080
If you run into issues about a different version of Node being used, try runningnpm rebuild
in the VS Code directory.
We patch VS Code to provide and fix some functionality. As the web portion of VSCode matures, we'll be able to shrink and maybe even entirely eliminate ourpatch. In the meantime, however, upgrading the VS Code version requires ensuringthat the patch still applies and has the intended effects.
To generate a new patch,stage all the changes you want to be included inthe patch in the VS Code source, then runyarn patch:generate
in thisdirectory.
Our changes include:
- Allow multiple extension directories (both user and built-in).
- Modify the loader, websocket, webview, service worker, and asset requests touse the URL of the page as a base (and TLS if necessary for the websocket).
- Send client-side telemetry through the server.
- Make changing the display language work.
- Make it possible for us to load code on the client.
- Make extensions work in the browser.
- Fix getting permanently disconnected when you sleep or hibernate for a while.
- Make it possible to automatically update the binary.
Visitour enterprise page for more information about ourenterprise offering.
If you would like to commercialize code-server, please contactcontact@coder.com.
About
Run VS Code on a remote server.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- TypeScript85.5%
- HTML5.9%
- Shell2.8%
- JavaScript2.7%
- Dockerfile1.9%
- CSS1.2%