Hacker News new | past | comments | ask | show | jobs | submit login
How OpenVSCode Server turns VS Code into a web IDE (sourcegraph.com)
159 points by thunderbong on Sept 28, 2021 | hide | past | favorite | 32 comments



Geoff here from Gitpod. Happy to answer any questions you may have. Come join us in discord at https://www.gitpod.io/chat

If you head down the path of integrating OpenVSCode-Server (released under MIT) into your product then I'd love to catch up for a virtual coffee to nerd out about developer tech in general! https://www.ghuntley.com/meet


Geoff, is this the fork that you guys use? The standard MS VSCode can also be used in the browser, right? But it has some licensing issues?


Gitpod has opensourced the bits that enable us to run vscode in the browser on Gitpod. Now you can run the vscode in the web experience remotely on your own computers or integrate the vscode editor into your product. We call this implementation "opencode-server" and it fast-follows Microsoft/vscode every night.


https://code.visualstudio.com/api/extension-guides/web-exten...

VS Code in the browser doesn't support terminals or debugging. For that you need either code-server, this project, Gitpod, or GitHub Codespaces.


How is this different from https://github.com/cdr/code-server ?


Per the release blog post (https://www.gitpod.io/blog/openvscode-server-launch), the goal of OpenVSCode Server is to make as few changes to VS Code as possible to run it on the server, while code-server makes more opinionated changes:

> Unlike other attempts, this project is based on a minimal set of changes and uses the same architecture that powers both Gitpod and GitHub Codespaces at scale.


Johannes from Gitpod here. I've answered this in https://news.ycombinator.com/item?id=28682477 (copied below)

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


Oh hey, I sold them that github account name for 0.11 BTC. They obviously had deep pockets but I wondered whether they'd end up having any success.


I've been eyeing code-server in docker images for a while for preconfigured one-off IDEs for use in presentations, something I can easily archive together with the slides, I guess this would be even better given it's closer to actual VSCode still. Would this be usable on an iPad with an external keyboard?


> I guess this would be even better given it's closer to actual VSCode still.

Within 24 hours of a pull-request merging into microsoft/vscode a new release is done automatically thus you now have the ability to run vscode as a server on your own computers/servers using the exact same vscode bits as used by Gitpod and GitHub Codespaces.

> Would this be usable on an iPad with an external keyboard?

Yes, my primary development machine these days is an iPad w/magic keyboard (pictured at the bottom of https://ghuntley.com/internet/) and openvscode-server follows the vscode bits used by GitHub Codespaces and Gitpod.


That’s good to know. I was tracking iPad specific keyboard bugs in code-server most of last summer. Not being able to use ⌘-z or ⌘-c was a bit of an issue... Now, if that's working again, I’ll have to check it out. I was really trying to replicate my dev environment on an iPad w/o using screen sharing/VNC.


Note that you probably should be using VS Code on the iPad in PWA mode, which mitigates most of the usability bugs.


FWIW, vscode as hosted by GitHub code spaces is hopeless on my ancient iPad 4, but is usable on the 2020 Amazon Kindle Fire HD that I got on sale for $100.


Related:

VS Code in the Browser for Everyone - https://news.ycombinator.com/item?id=28682477 - Sept 2021 (16 comments)



Do it reserve terminals when reloaded? I remembered that in code-server. If you reload, you lost all your IDE state. which is not very useful in my opinion.


Hey Congrats on the launch. I tried it and it's very interesting. The only thing i can't figure out is Auth. How do i go about that ?


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


How does it handle multi tenancy? Do you need one container per environment?


Alternative link for mobile?



Have pinged your feedback to the Sourcegraph folks. I think the drawer should be closed as well.


I don't know how I feel about the monitoring and telemetry here.


I don't quite follow. Could you please explain and cite specifics?


Perhaps in reference to the telemetry that VSCodium aims to remove? https://github.com/VSCodium/vscodium#why


There is no telemetry or monitoring in openvscode-server


Well that's not true is it? https://github.com/gitpod-io/openvscode-server/tree/main/src...

I fail to see how this is different to vscode at all, pointless project.


> I fail to see how this is different to vscode at all, pointless project.

Here let me help; it's a beautiful sunny day outside and you want spend all-day doing software development from your under-powered laptop (or iPad). Instead of compromising your productivity - run this command on your Ryzen desktop

$ docker run -it --init -p 3000:3000 -v "$(pwd):/home/workspace:cached" gitpod/openvscode-server

Install TailScale or WireGuard on both devices; then from your chromebook

http://desktop:3000/

Tada - remote development on your own infrastructure using the exact same vscode bits that powers Gitpod and GitHub Codespaces


It's a fork[1], they've just not enabled telemetry by default I assume.

[1] Same folder in the original repo: https://github.com/microsoft/vscode/tree/main/src/vs/platfor...


> they've just not enabled telemetry

Correct.

> It's a fork.

We have made as minimal changes to the fork as possible to reduce chances of merge conflicts because the fork automatically updates from microsoft/vscode.


But that's what code-server and theia have done for ages, why is this 'revolutionary' vscode is junk anyway and I would steer anyone away from using it.... it's a monoculture locked into Microsoft's awful abyss


If it runs on someone else's server, they monitor everything.

I have a similar concern with most productivity apps on the web, tbh.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: