Settings

Theme

VS Code in the Browser for Everyone

gitpod.io

73 points by jankeromnes 4 years ago · 21 comments

Reader

chenzhekl 4 years ago

Pretty cool project. I am wondering how it is different from code-server [1]?

[1] https://github.com/cdr/code-server

  • tomvault 4 years ago

    Johannes here from Gitpod. Shared some background about differences on Twitter already: https://twitter.com/jolandgraf/status/1442850063953313805?s=...

    Essentially, we run nightly builds at OpenVSCode Server making it as upstream to VS Code as possible. In contrast to other forks the whole scope of the project is to add a minimal set of changes (specifics about what we added https://github.com/gitpod-io/openvscode-server/blob/main/doc...)

    The architecture we use powers both Gitpod and GitHub Codespaces. Several of the devs and organisations that have asked for our implementation & now have adopted OpenVSCode Server referenced the following issue at Code-Server (https://github.com/cdr/code-server/issues/3835).

    • throwaway284534 4 years ago

      Hey! Thanks for the explanation, but I don’t fully understand the two projects. Is this built with code-server, or do the server parts of Gitpod come from Microsoft? Where should I submit PRs?

      • mikenikles 4 years ago

        Hi, Mike from Gitpod here. This project does not use code-server. It is instead a very lightweight server added to the official open source VS Code repo from Microsoft.

        We documented this in more detail in the "Source Code Organization" chapter at https://github.com/gitpod-io/openvscode-server/blob/main/doc....

        As to where to submit PRs:

        - Anything to do with running VS Code in a server context: gitpod-io/openvscode-server

        - Anything else related to VS Code: microsoft/vscode

        We have no intention of changing VS Code in any way or to add additional features to VS Code itself.

mikewhy 4 years ago

I looked into this when setting up a new machine. Well, not exactly openvscode but code-server. I have the same questions I had when investigating that:

- with docker, how would you install eg. node and go binaries?

- with docker, how would you set up some dotfiles?

- how do you map remote ports to your local machine?

I ended up going with VSCode Remote (SSH), and am loving it. But I still think I'd be happier with a pure browser experience.

  • makethetick 4 years ago

    I have a similar setup, I use Caprover as a nicer way to manage docker. You can build whatever you want into the dockerfile then just map the user directory to a local one and port forward where needed.

    If you want to run a web app through a domain with SSL then it's trivial to setup a nginx proxy container.

    It takes minutes to spin up a new dev environment with everything setup out of the box including environment variables and access tokens.

  • schainks 4 years ago

    Could you say more about your set up? I'm looking for something similar.

    • mikewhy 4 years ago

      So the goal was running my development machine remotely.

      I didn't want to clog up my server with a development toolchain, so I first tried VSCode Remote (Docker). It's what I would prefer, yet I never found managing a development environment in Docker comfortable. My dev machine bootstrap is scripted, but trying out new software and mapping ports on a whim don't lend themselves well.

      Currently I am using VSCode Remote (SSH) running in a virtual machine. This keeps the development environment separate from the server, and any random tools I need to install are still there after any restart.

      The VM was just Ubuntu Server with sshd. VSCode Remote (SSH) is great. Installing the extension on a client machine sets up the server on the machine you connect to. Ports can be mapped from the server right in VSCode (it can even automatically detect them and mapped them for you). Terminals work as expected, mouse emulation works.

sterlinm 4 years ago

I assume something like Pylance is still off-limits based on how Microsoft has licensed it?

orsenthil 4 years ago

Is it for projects which are not hosted on github, which can be accessed using github.dev?

  • tomvault 4 years ago

    github.dev is solely the VSCode frontend/editor without access to any compute. OpenVSCode Server allows you to run VS Code on a remote machine and access it with a thin client through the browser. Unlike github.dev you get full access to the underlying OS and can run tests, compilation, install dependencies etc.

oulipo 4 years ago

Hey nice! Can multiple people edit the files together? How is concurrency handled?

  • FractalHQ 4 years ago

    Collaboration is one thing I would really appreciate from an online IDE. VSCode Liveshare addon is the best experience for collaborative coding I’ve found so far.

itsbits 4 years ago

How is it different to gitpod?

  • spiderice 4 years ago

    That is nearly word for word one of the headers in the blog post.

    > How is this different to Gitpod?

    > If you want one-click, fully automated developer environments that give yourself and your team an unparalleled productivity boost try Gitpod.

    > If you have a machine somewhere which you would like to access with VS Code through a browser, check out OpenVSCode Server.

  • e44858 4 years ago

    Seems you can run it on your own hardware

    • tomvault 4 years ago

      Hi Johannes here from Gitpod. Copying the answer from our launch post: https://www.gitpod.io/blog/openvscode-server-launch#how-is-t...

      Gitpod is all about provisioning and orchestrating ephemeral developer environments (think about it as a resource efficient and powerful orchestration platform for your dev envs).An IDE is just one building block of a working cloud based developer environment, in addition to the operating system, databases, compilers and all the other tools you need to be productive. At Gitpod we want to support the IDE or editor you like best, and providing VS Code through the web browser is just one possibility. Alternatively, you can access your Gitpod workspaces through SSH, local VS Code and soon your favorite Jetbrains IDEs.

      If you have a machine somewhere which you would like to access with VS Code through a browser, check out OpenVSCode Server. If you need control over your infrastructure and would like the orchestration capabilities that Gitpod offer you can self host Gitpod.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection