code-server

浏览器中的 VS Code。「VS Code in the browser」

Github stars Tracking Chart

code-server

在任何地方的任何计算机上运行 VS Code,然后在浏览器中对其进行访问。

亮点

  • 到处编码
    • 在Chromebook、平板电脑和笔记本电脑上使用一致的开发环境编写代码。
    • 在Linux机器上进行开发,并从任何带有web浏览器的设备中获取。
  • 服务器驱动
    • 利用大型云服务器来加速测试、编译、下载等。
    • 当您在服务器上运行所有繁重的任务时,可在旅途中保留电池寿命。
    • 利用闲置的计算机,将其转换为完整的开发环境。

入门

有关完整的设置和演练,请参阅 ./doc/guide.md

快速安装

我们有一个脚本可以为 Linux、macOS 和 FreeBSD 安装代码服务器。

如果可能,它将尝试使用系统软件包管理器。

首先运行以打印安装过程:

curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run

现在要实际安装:

curl -fsSL https://code-server.dev/install.sh | sh

安装脚本将打印出如何运行和开始使用代码服务器。

手动安装

安装脚本,手动安装和docker映像的文档位于 ./doc/install.md

常问问题

请参阅 ./doc/FAQ.md

贡献

参见 ./doc/CONTRIBUTING.md

招聘

我们正在寻找一位工程师来帮助维护代码服务器并在开源上进行创新。

我们的总部位于德克萨斯州奥斯汀。只要您在加拿大,美国,澳大利亚或英国,就可以使用遥控器。

如果有兴趣请联系

企业

访问我们的网站以获取有关我们企业产品的更多信息。

Overview

Name With Ownercoder/code-server
Primary LanguageTypeScript
Program languageTypeScript (Language Count: 10)
PlatformBSD, Linux, Mac, Docker, Kubernetes, Raspbian
License:MIT License
Release Count152
Last Release Namev4.89.1 (Posted on )
First Release Name1.31.0 (Posted on )
Created At2019-02-27 16:50:41
Pushed At2024-05-15 12:33:09
Last Commit At
Stargazers Count65.7k
Watchers Count728
Fork Count5.4k
Commits Count3.8k
Has Issues Enabled
Issues Count3420
Issue Open Count300
Pull Requests Count1448
Pull Requests Open Count3
Pull Requests Close Count386
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

code-server · MIT license "Latest Release" Build Status

code-server is VS Code running on a
remote 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 a
    consistent dev environment. develop more easily for Linux if you have a
    Windows 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 go
    since all intensive computation runs on your server.

Screenshot

Getting Started

Requirements

  • 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).

Run over SSH

Use sshcode for a simple setup.

Docker

See the Docker one-liner mentioned above. Dockerfile is at /Dockerfile.

To debug Golang using the
ms-vscode-go extension,
you need to add --security-opt seccomp=unconfined to your docker run
arguments when launching code-server with Docker. See
#725 for details.

Digital Ocean

Create a Droplet

Binaries

  1. Download a binary. (Linux and
    OS X supported. Windows coming soon)
  2. Unpack the downloaded file then run the binary.
  3. In your browser navigate to localhost:8080.

Build

See
VS Code's prerequisites
before 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.

Security

Authentication

By default code-server enables password authentication using a randomly
generated password. You can set the PASSWORD environment variable to use your
own instead or use --auth none to disable password authentication.

Do not expose code-server to the open internet without some form of
authentication.

Encrypting traffic with HTTPS

If you aren't doing SSL termination elsewhere you can directly give
code-server a certificate with code-server --cert followed by the path to
your certificate. Additionally, you can use certificate keys with --cert-key
followed by the path to your key. If you pass --cert without any path
code-server will generate a self-signed certificate.

If code-server has been passed a certificate it will also respond to HTTPS
requests and will redirect all HTTP requests to HTTPS. Otherwise it will respond
only to HTTP requests.

You can use Let's Encrypt to get an SSL certificate
for free.

Do not expose code-server to the open internet without SSL, whether built-in
or through a proxy.

Known Issues

  • Creating custom VS Code extensions and debugging them doesn't work.
  • Extension profiling and tips are currently disabled.

Future

  • Stay up to date! Get notified about new releases of code-server.
    Screenshot
  • 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.

Extensions

code-server does not provide access to the official
Visual Studio Marketplace. Instead,
Coder has created a custom extension marketplace that we manage for open-source
extensions. If you want to use an extension with code-server that we do not have
in 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 extension
locally from open source, you can copy it to the extensions folder. If you
build one locally from open-source please contribute it to the project and let
us know so we can give you props! If you have your own custom marketplace, it is
possible to point code-server to it by setting the SERVICE_URL and ITEM_URL
environment variables.

Telemetry

Use the --disable-telemetry flag to completely disable telemetry. We use the
data collected to improve code-server.

Contributing

Development

See
VS Code's prerequisites
before developing.

git clone https://github.com/microsoft/vscode
cd vscode
git checkout ${vscodeVersion} # See scripts/ci.bash for the version to use.
yarn
git clone https://github.com/cdr/code-server src/vs/server
cd src/vs/server
yarn
yarn patch:apply
yarn 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 running
npm rebuild in the VS Code directory.

Upgrading VS Code

We patch VS Code to provide and fix some functionality. As the web portion of VS
Code matures, we'll be able to shrink and maybe even entirely eliminate our
patch. In the meantime, however, upgrading the VS Code version requires ensuring
that the patch still applies and has the intended effects.

To generate a new patch, stage all the changes you want to be included in
the patch in the VS Code source, then run yarn patch:generate in this
directory.

Our changes include:

  • Allow multiple extension directories (both user and built-in).
  • Modify the loader, websocket, webview, service worker, and asset requests to
    use 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.

License

MIT

Enterprise

Visit our enterprise page for more information about our
enterprise offering.

Commercialization

If you would like to commercialize code-server, please contact
contact@coder.com.

To the top