vscode-remote-release icon indicating copy to clipboard operation
vscode-remote-release copied to clipboard

Devcontainer for vscode.dev?

Open lattice0 opened this issue 2 years ago • 25 comments
trafficstars

Hi, I connected to a tunnel and I cannot use devcontainer or even install the Dev Containers extension on vscode.dev. I'm trying to code completely on the cloud but devcontainer is very much needed for me because I always destroy my VMs doing lota of stuff and I don't want to reinstall stuff.

Why there's no support for dev containers on tunnels?

Why it works on codespaces online if it's simply an online vscode?

Context: coding on tablet

### Tasks

lattice0 avatar Oct 04 '23 02:10 lattice0

currently cannot do remote development because this is missing, please add 🙏

lzunsec avatar Oct 06 '23 05:10 lzunsec

Similar to my comment in #7705 and original issue in #7715 nearly a year ago, but this support would be crucial to have to fully enable development on vscode.dev using personal infrastructure separate from the Codespaces workflow.

Devcontainers are a great feature to apply reusability/repeatability concepts towards development environments, so it would be great to have this feature parity across all ways of accessing and using the vscode environment.

jon77p avatar Oct 10 '23 14:10 jon77p

Yes. I've been developing with Flutter with Rust on Android, which is very very uncommon, so we started using VSCode with all the extensions needes as Android Studio simply couldn't handle Flutter and Rust mixed with Kotlin properly. But imagine making everyone having to install everything for Flutter, Rust, Kotlin... So we started using Dev Containers. But every dev wants to code with their prefered system. I, for example, started using a Galaxy Tab S9 Ultra tablet and I'm very happy with it, because x64 computer bateries are simply trash, they are hot on my lap and macbooks are extremely expensive here, and I even use my phone on a TV in Samsung Dex mode sometimes, I also use a lapdock where I simply connect my phone and suddenly I have a laptop.

So, vscode.dev attends all my needs except for the devcontainer, this is extremely needed so I can truly code anywhere and anyone on my company can simply get working from day 1 without having to install anything. It's also safer as nowadays, dependencies can run arbitrary code when installed. Devcontainers make total sense on the browser! I think it's already implictly supported as that's how codespaces work. I like codespaces but it's expensive for my needs currently (poor country).

Pleaaaaaaase microsoft!!! We need this urgently.

lattice0 avatar Oct 10 '23 15:10 lattice0

need this on my ipad and also our company can move to cloud development finally

77see avatar Oct 21 '23 04:10 77see

Is there any update on being able to connect to devcontainer from vscode.dev?

jjcasmar avatar Oct 25 '23 18:10 jjcasmar

@jjcasmar It looks like it's in the backlog. I think we need to raise awareness so microsoft moves to in progress soon. I'm dying for this feature, already on my limit on github codespaces. Maybe send this thread to some friends

lattice0 avatar Oct 25 '23 18:10 lattice0

If at least it was possible to open a tunnel directly to a devcontainer, instead of to the host...

jjcasmar avatar Oct 25 '23 18:10 jjcasmar

@jjcasmar it is, you can run a devcontainer and then run vscode tunnel installer as a post install script or on the dockerfile, but it would be a little annoying and not the way it should be done

lattice0 avatar Oct 25 '23 18:10 lattice0

Yeah, but its not possible to do it automatically because it requires authentication. https://github.com/microsoft/vscode-remote-release/issues/9132 https://github.com/microsoft/vscode-remote-release/issues/9131

jjcasmar avatar Oct 25 '23 18:10 jjcasmar

I'd like to echo the need for this, as this would also allow a zero-installation full-featured coding solution on a browser-based OS, such as Chromium OS, e.g. for coding on low-grade/old laptops.

Ilykuleshov avatar Oct 26 '23 11:10 Ilykuleshov

@Ilykuleshov same here, on our company we want people to code on whatever device they have, even tablets (Tab S9 Ultra here). Codespaces is cool but too expensive and also for things like Android development where you need to have USB connection or maybe a local wireless connection for installing the APK on the phone over ADB, it's better to use a nearby machine.

Without devcontainers though it's not easy to switch between development VMs easily (yes, we use VMs for isolation, and then containers for building with the correct dependencies)

lattice0 avatar Oct 26 '23 11:10 lattice0

this is the only feature missing for us to use vscode on our company

neet-ev avatar Feb 01 '24 02:02 neet-ev

I tried his workaround of doing a live share from a devcontainer but vscode.dev refuses to load it https://github.com/microsoft/vscode-remote-release/issues/9493

I want this featureee so baaaad

lattice0 avatar Feb 04 '24 17:02 lattice0

I didn't want to wait for Microsoft to work on this, so I wrote my own program. It builds dev containers using the dev container CLI and then injects the code CLI to create a tunnel. It isn't quite seamless, since you need to authenticate every time you create a new tunnel, and you only get five slots on vscode.dev. But it includes support for devcontainer.json-defined settings and extensions, so it almost feels as good as Codespaces.

Until such time as there is official support, it does the job for me.

YoRyan avatar Feb 11 '24 05:02 YoRyan

My current solution is to stream VSCode from linux with Sunshine and use an Android Moonlight client. This is sad.

Is VSCode simply allowed the local VSCode to open in a browser, then I could TCP forward from the tablet, which would be even better as I don't have to pass through Microsoft servers which adds delay.

lattice0 avatar Feb 25 '24 14:02 lattice0

There's now a code serve-web command that starts a self-hosted, standalone VS Code server that looks and performs great. I have this command implemented in myspace as the local subcommand, and it's almost perfect for the DIY Codespaces use case. But unfortunately, the dev container CLI does not yet implement port forwarding for dev containers (https://github.com/devcontainers/cli/issues/186). That means we only get one port (appPort) which we have to use for the VS Code server itself. Without access to the other ports, you can't reach any services you spin up in your dev container. :cry:

YoRyan avatar Feb 25 '24 20:02 YoRyan

@YoRyan first of all, thanks, just tested this solution and is much faster via local ssh forwarding over my local network. Unfortunately the devcontainer plugin still does not work.

For the devcontainer CLI, you're starting one with VSCode installed and then accessing it from outside? It's a good workaround but I wanted so bad for this to work with the extension already

lattice0 avatar Feb 25 '24 20:02 lattice0

For the devcontainer CLI, you're starting one with VSCode installed and then accessing it from outside?

Precisely. The devcontainer CLI is made by Microsoft, so in theory the containers it creates should be just like those created by the official extension, or Codespaces.

Obviously it would be preferable to have first-party support, but the extension is closed-source, so the ball is firmly in Microsoft's court.

YoRyan avatar Feb 25 '24 21:02 YoRyan

i need this feature for coding with default environments with no setup when someone joins our company, we use GPUs so cloud is needed but web version is essential

worm991 avatar May 18 '24 21:05 worm991

I am also looking for a fully functional web interface. Tailscale + VSCode dev server works fine with native VS Code installations.

However, one cannot do this with a Quest 3 device, as one can't install Tailscale nor VSCode there. So the online interface allows for truly remote development, bypassing the client device issue. Since it works through SSH, I don't see the impediment to use it through the TCP tunnel, other than the lack of implementation on Microsoft's side.

iguanus avatar May 19 '24 18:05 iguanus

need this to code on my home server with much more processing power, without burning my laptop, and also allocate one VM for an employee, but without the hassle of setting everything. Devcontainers on web is a must

grutin111 avatar Jun 23 '24 15:06 grutin111