loft-sh / devpod

Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker.
https://devpod.sh
Mozilla Public License 2.0
9.13k stars 338 forks source link

VSCodium support is missing, while it exists for VSCode and VSCode for Insiders #1198

Open KhazAkar opened 3 months ago

KhazAkar commented 3 months ago

Which solution do you suggest?
Similar as for VSCode for Insiders or VSCode :)

Which alternative solutions exist?
Remote via SSH or just launching it with devpod plugin while vscodium is open.

Additional context
VSCodium is a project which provides an open source binaries for VSCode

bkneis commented 2 months ago

Hi @KhazAkar thanks for the suggestion, I was not aware of vs codium existed! It looks like an interesting project. One solution to this problem could be to symlink vs codium binary as vscode in your bin. Depending on your set up something like ln -s /usr/bin/codium /usr/bin/code

3timeslazy commented 2 months ago

@KhazAkar the problem with VS Codium is that it doesn’t support dev containers. VS Code DevContainer extension is proprietary and won’t work with VS Codium even if you download vsix package from the marketplace. See: https://github.com/VSCodium/vscodium/issues/1229.

The best you can get is to create a container using devpod cli and connect to it via https://github.com/jeanp413/open-remote-ssh

Alternatively, you can try this: https://github.com/3timeslazy/vscodium-devpodcontainers

I faced the same problem some time ago and made this as a workaround. It does exactly what I’ve described: runs devpod up and connects to it using ssh extension from above. It works on two my machines, but very raw and only used by me.

KhazAkar commented 2 months ago

@3timeslazy I'm using yours extension for dev containers in VSCodium and works great. It would be great to have slightly better integration from DevPod side, just like official VSCode have.

3timeslazy commented 2 months ago

@KhazAkar wow, I didn’t know that. Glad to hear this! Will be more careful with new releases now hah

In fact, DevPod supporting Codium would be very cool and beneficial to both the Codium and DevPod communities for at least two reasons:

  1. Supporting a more private and truly open VS Code alternative. DevPod users might see Codium on the list of supported IDEs and get interested in it.
  2. Promoting DevPod to Codium users. Codium users are currently excluded from the devcontaineirs movement due to a lack of open implementations. DevPod integration could encourage devs to develop open alternatives for remote development extensions such as dev containers and remote k8s development. All of that will be good promotion for DevPod among Codium users.
KhazAkar commented 2 months ago

@bkneis I will check it tomorrow, but it might work. Currently plugin by 3timeslazy opens it in VSCodium, but having CLI "devpod up" do it automagically, even by linking, will be awesome :)

bkneis commented 1 week ago

@3timeslazy I've just taken a look at your plugin and it looks great. I downloaded codium to see if I could integrate devpod with it, but even using the remote SSH extension, the user experience isn't the best. There is no way to open codium using an SSH target so devpod would only be able to open codium, but the user would need to go in and select the SSH target, which is effectively the same as using --ide none. Unless vscodium can support something like codium ssh://target devpod is not able to integrate with it

3timeslazy commented 1 week ago

Hi @bkneis,

Thank you for your effort!

Actually, there is a way to open codium using SSH target. It's almost the same as with vscode. In devpod's source code terminology, codium is just a flavor of vscode.

I tried it locally and the following command worked: codium --folder-uri=vscode-remote://ssh-remote+${project}.devpod/

bkneis commented 1 week ago

@3timeslazy your right! I thought this was not supported but found the error was due to the SSH extension not being found in the marketplace, as you mentioned. Once I added some logic to switch the extension, when using the codium flavour, it works as expected. Here is the PR to introduce codium support in devpod :) https://github.com/loft-sh/devpod/pull/1348