VS Code in the browser
Go to file
Teffen 1b60ef418c
Use upstream server (#4414)
* Flesh out fixes to align with upstream.

* Update route handlers to better reflect fallback behavior.

* Add platform to vscode-reh-web task

Our strategy has been to build once and then recompile native modules
for individual platforms.  It looks like VS Code builds from scratch for
each platform.

But we can target any platform, grab the pre-packaged folder, then
continue with own packaging.

In the future we may want to rework to match upstream.

* Fix issue where workspace args are not parsed.

* Fix issues surrounding opening files within code-server's terminal.

* Readd parent wrapper for hot reload.

* Allow more errors.

* Fix issues surrounding Coder link.

* Add dir creation and fix cli

It seems VS Code explodes when certain directories do not exist so
import the reh agent instead of the server component since it creates
the directories (require patching thus the VS Code update).

Also the CLI (for installing extensions) did not seem to be working so
point that to the same place since it also exports a function for
running that part of the CLI.

* Remove hardcoded VSCODE_DEV=1

This causes VS Code to use the development HTML file.  Move this to the
watch command instead.

I deleted the other stuff before it as well since in the latest main.js
they do not have this code so I figure we should be safe to omit it.

* Fix mismatching commit between client and server

* Mostly restore command-line parity

Restore most everything and remove the added server arguments.  This
will let us add and remove options after later so we can contain the
number of breaking changes.

To accomplish this a hard separation is added between the CLI arguments
and the server arguments.

The separation between user-provided arguments and arguments with
defaults is also made more clear.

The extra directory flags have been left out as they were buggy and
should be implemented upstream although I think there are better
solutions anyway.  locale and install-source are unsupported with the
web remote and are left removed.  It is unclear whether they were used
before anyway.

Some restored flags still need to have their behavior re-implemented.

* Fix static endpoint not emitting 404s

This fixes the last failing unit test.

Fix a missing dependency, add some generic reverse proxy support for the
protocol, and add back a missing nfpm fix.

* Import missing logError

* Fix 403 errors

* Add code-server version to about dialog

* Use user settings to disable welcome page

The workspace setting seems to be recognized but if so it is having no
effect.

* Update VS Code cache step with new build directories

Co-authored-by: Asher <ash@coder.com>
2021-11-09 23:28:31 -06:00
.github Use upstream server (#4414) 2021-11-09 23:28:31 -06:00
.tours Add vscode via vendor package. 2021-09-15 14:54:33 -04:00
ci Use upstream server (#4414) 2021-11-09 23:28:31 -06:00
docs Add a gist of the difference between code-server and Coder (#4419) 2021-11-09 10:30:27 -07:00
src Use upstream server (#4414) 2021-11-09 23:28:31 -06:00
test Use upstream server (#4414) 2021-11-09 23:28:31 -06:00
typings Refactor vscode endpoints to use fork directly. 2021-09-30 19:14:17 -04:00
vendor Use upstream server (#4414) 2021-11-09 23:28:31 -06:00
.dockerignore Simplify packaging and improve scripts 2020-05-08 01:04:24 -04:00
.editorconfig Refactor vscode endpoints to use fork directly. 2021-09-30 19:14:17 -04:00
.eslintrc.yaml fix: remove eslint-plugin-jest-playwright 2021-04-29 10:46:14 -07:00
.gitattributes browser: Add favicon.afdesign 2021-01-08 23:03:34 -05:00
.gitignore Revert "Add linkup command to improve link functionality" (#4439) 2021-11-03 14:42:14 -07:00
.node-version chore: Update dependency requirements. Fix node version manager. 2021-07-21 14:32:16 -04:00
.nvmrc chore: Update dependency requirements. Fix node version manager. 2021-07-21 14:32:16 -04:00
.prettierrc.yaml Refactor vscode endpoints to use fork directly. 2021-09-30 19:14:17 -04:00
.stylelintrc.yaml Fix bugs in CI 2020-02-18 19:06:35 -05:00
CHANGELOG.md refactor: migrate parcel to browserify 2021-06-28 11:41:45 -07:00
install.sh fix(docs): use latest instead of version in links 2021-08-24 11:54:46 -07:00
LICENSE.txt Shake CI and docs up 2020-02-14 19:46:17 -05:00
package.json Use upstream server (#4414) 2021-11-09 23:28:31 -06:00
renovate.json Add vscode via vendor package. 2021-09-15 14:54:33 -04:00
ThirdPartyNotices.txt Add ThirdPartyNotices.txt 2020-07-16 19:01:09 -06:00
tsconfig.json Refactor vscode endpoints to use fork directly. 2021-09-30 19:14:17 -04:00
yarn.lock fix(deps): update dependency rotating-file-stream to v3 (#4451) 2021-11-05 12:04:10 -07:00

code-server

"GitHub Discussions" "Join us on Slack" Twitter Follow codecov See v3.12.0 docs

Run VS Code on any machine anywhere and access it in the browser.

Screenshot

Highlights

  • Code on any device with a consistent development environment
  • Use cloud servers to speed up tests, compilations, downloads, and more
  • Preserve battery life when you're on the go; all intensive tasks run on your server
🔔 code-server is a free browser-based IDE while Coder, is our enterprise developer workspace platform. For more information, visit Coder.com

Requirements

See requirements for minimum specs, as well as instructions on how to set up a Google VM on which you can install code-server.

TL;DR: Linux machine with WebSockets enabled, 1 GB RAM, and 2 CPUs

Getting started

There are three ways to get started:

  1. Using the install script, which automates most of the process. The script uses the system package manager if possible.
  2. Manually installing code-server
  3. Using our one-click buttons and guides to deploy code-server to a cloud provider

If you use the install script, you can preview what occurs during the install process:

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

To install, run:

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

When done, the install script prints out instructions for running and starting code-server.

We also have an in-depth setup and configuration guide.

TLS and authentication (beta)

To add TLS and authentication out of the box, use code-server --link.

Questions?

See answers to frequently asked questions.

Want to help?

See Contributing for details.

Hiring

Interested in working at Coder? Check out our open positions!

For Organizations

Want remote development for your organization or enterprise? Visit our website to learn more about Coder.