You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In case this issue is about fixing the remote extensions to work with code-server, this related issue can be closed: #892. I would really like to see the SSH extension to work within code-server and would be happy to test it once there is any fix.
I currently have a need for Remote - SSH extension and unfortunately the official one doesn't work for me (which is unlikely to be solved upstream in the near future). So I am considering implementing it myself.
At least initially I would like to have it as simple as possible. Without any fancy terminal forwarding or something like that. Just make it so that the work with the filesystem and all the language servers are running on the vm and UI is running in the vscode. Similar two what we now have with code-server in the browser, but without browser version problems (such as cmd+w for example).
Would you have some pointers as to where to start investigating from inside vscode source?
At the moment I don't have a good idea of the full scope of what'll be required to make this work but it'll probably have to do with using and/or implementing the remote authority stuff.
There's a workspace.registerRemoteAuthorityResolver in the proposed API which might be a good starting point.
Reacted by Fedor Nezhivoi, Ben Schattinger and Quan Zhuo
Is there any more direct way to add arguments to the vscode to execute ?
I'm not sure if the enable-proposed-api switch simply does nothing or there is something else to be enabled.
@JayDoubleu could you open a separate issue for the enable proposed API flag? It's possible we have a bug there.
I'm not confident the remote extensions will work in code-server even if we resolve that though. Unfortunately I won't be able to test since it's against the terms of service to use them in anything other than VS Code. 😢
Just tested this with ms-vscode-remote.remote-containers-0.132.0.vsix
When clicking open in container it just disconnects and reloads.
[server] disconnected from client {"proxies":3}
I'm assuming there is no way to get ANY remote or codespaces working with code-server ?
I can see that it's already connecting to localhost as a remote
I haven't investigated (I don't think I can since legally we can't run the extension with code-server) so I can't be sure but yeah, I think it's possible that code-server technically being a remote already might be what's causing the incompatibility.
Given the "legal issues" surrounding this I think it would be best to just implement something "compatible" with dev containers. Currently, I run code-server in a docker, so IMHO it would be easier to just have something that will build a docker env from that dev container and run code-server from there. Then the current proxy code used for exposing web development can just forward to that instance. Thus far I have found the remote container development "clunky" at best and running code-server inside of a docker has proven a more usable experience. There is also the issue that code-server should have its own value beyond being a drop-in for MS technology that is easily replaceable. So far code-server can be instigated via ssh, it can run perfectly inside of docker. Just my 2c as someone who uses both remote VS code and code-server.
Reacted by Joe Previte, wang.yuxin, jjlinares and Ani
Maybe I am misintepreting the intent of the original issue, but is this issue about to use extensions on a remote location? If so, why not mount a ssh folder on the local/host machine and then run code-server to use that particular folder?
like this:
" --extensions-dir="DRIVELETTER:\VSCODE\extensions""
" --user-data-dir="DRIVELETTER:\VSCODE\settings""
I have a use case in which I will need this kind of setup. I want to run code-server inside several containers, in which I want a workspace to be available, but I would like to pre-install extensions when I bootup a container.
I understand that this setup will raise a great number of issues, but for me and my team would be great, since we always use the same extensions to work and has the bonus of adding another person to the team and start him/her up without going through environment setups.
I have a use case in which I will need this kind of setup. I want to run code-server inside several containers, in which I want a workspace to be available, but I would like to pre-install extensions when I bootup a container.
This basically sounds like your own version of Coder! We have many teams who do this. The most common way I've seen is installing the extension as part of the Dockerfile so that it's available when your teammates create a workspace (i.e. access code-server):
Though it would be nice to have the official remote extensions working, I can't see it happening anytime soon.
I have been using code-server for a few years now deployed inside a container (Docker & Kubernetes) & recently got remote debugging working inside Docker containers for a FastAPI app. (sidenote: Docker in Docker is messy. I currently bind mount docker.sock for local development, but I'm sure using a remote TCP host via DOCKER_HOST would work too.)
For anyone looking at remote debugging, this approach should work for any language that supports a remote debug package (e.g. Python, Node...). I currently use the debugpy package in Python.
In the root of your repo, add launch.json and tasks.json into the .vscode directory.
Activity
lukasmasuch commentedon Jan 29, 2020
In case this issue is about fixing the remote extensions to work with code-server, this related issue can be closed: #892. I would really like to see the SSH extension to work within code-server and would be happy to test it once there is any fix.
sr229 commentedon Jan 29, 2020
@nhyoor if this interests you, there's a remote subfolder in the main vscode folder, wanna
abusereuse that?frank-dspeed commentedon Feb 1, 2020
The remote extension does some checks as far as i know i decompiled it some times.
There is a validation shema i think we should first automate the decompile process and check that.
nhooyr commentedon Feb 2, 2020
We cannot and will not decompile the extension, that is not valid per the license terms.
Just-Insane commentedon Feb 23, 2020
Is there any further plan to implement these extensions?
kirscheGIT commentedon May 29, 2020
Would also like to know, if you have still have plans to implement this. Thanks!
code-asher commentedon May 29, 2020
Nothing concrete at the moment.
gyzerok commentedon Jun 5, 2020
I currently have a need for Remote - SSH extension and unfortunately the official one doesn't work for me (which is unlikely to be solved upstream in the near future). So I am considering implementing it myself.
At least initially I would like to have it as simple as possible. Without any fancy terminal forwarding or something like that. Just make it so that the work with the filesystem and all the language servers are running on the vm and UI is running in the vscode. Similar two what we now have with code-server in the browser, but without browser version problems (such as cmd+w for example).
Would you have some pointers as to where to start investigating from inside vscode source?
code-asher commentedon Jun 8, 2020
At the moment I don't have a good idea of the full scope of what'll be required to make this work but it'll probably have to do with using and/or implementing the remote authority stuff.
There's a
workspace.registerRemoteAuthorityResolverin the proposed API which might be a good starting point.JayDoubleu commentedon Aug 17, 2020
building from vscode-1.48.0 branch + adding 9fb33dc , as well as adding
ms-vscode-remote.remote-containerstoextensionAllowedProposedApi.This gets the remote extensions installed however it is still complaining with the error:
Tried executing via below.
Is there any more direct way to add arguments to the vscode to execute ?
I'm not sure if the enable-proposed-api switch simply does nothing or there is something else to be enabled.
code-asher commentedon Aug 18, 2020
@JayDoubleu could you open a separate issue for the enable proposed API flag? It's possible we have a bug there.
I'm not confident the remote extensions will work in code-server even if we resolve that though. Unfortunately I won't be able to test since it's against the terms of service to use them in anything other than VS Code. 😢
nhooyr commentedon Aug 20, 2020
See #1779
JayDoubleu commentedon Aug 26, 2020
Just tested this with
ms-vscode-remote.remote-containers-0.132.0.vsixWhen clicking open in container it just disconnects and reloads.
[server] disconnected from client {"proxies":3}
I'm assuming there is no way to get ANY remote or codespaces working with code-server ?
I can see that it's already connecting to localhost as a remote
code-asher commentedon Aug 27, 2020
I haven't investigated (I don't think I can since legally we can't run the extension with code-server) so I can't be sure but yeah, I think it's possible that code-server technically being a remote already might be what's causing the incompatibility.
34 remaining items
vegardhw commentedon Jul 9, 2021
This sounds awesome! :) What is the expected timeline for a release...? :)
code-asher commentedon Jul 12, 2021
geiseri commentedon Sep 19, 2021
Given the "legal issues" surrounding this I think it would be best to just implement something "compatible" with dev containers. Currently, I run code-server in a docker, so IMHO it would be easier to just have something that will build a docker env from that dev container and run code-server from there. Then the current proxy code used for exposing web development can just forward to that instance. Thus far I have found the remote container development "clunky" at best and running code-server inside of a docker has proven a more usable experience. There is also the issue that code-server should have its own value beyond being a drop-in for MS technology that is easily replaceable. So far code-server can be instigated via ssh, it can run perfectly inside of docker. Just my 2c as someone who uses both remote VS code and code-server.
jsjoeio commentedon Sep 20, 2021
^cc @bpmct @kylecarbs
jarodium commentedon Feb 25, 2022
Maybe I am misintepreting the intent of the original issue, but is this issue about to use extensions on a remote location? If so, why not mount a ssh folder on the local/host machine and then run code-server to use that particular folder?
like this:
" --extensions-dir="DRIVELETTER:\VSCODE\extensions""
" --user-data-dir="DRIVELETTER:\VSCODE\settings""
I have a use case in which I will need this kind of setup. I want to run code-server inside several containers, in which I want a workspace to be available, but I would like to pre-install extensions when I bootup a container.
I understand that this setup will raise a great number of issues, but for me and my team would be great, since we always use the same extensions to work and has the bonus of adding another person to the team and start him/her up without going through environment setups.
jsjoeio commentedon Feb 25, 2022
This basically sounds like your own version of Coder! We have many teams who do this. The most common way I've seen is installing the extension as part of the Dockerfile so that it's available when your teammates create a workspace (i.e. access code-server):
https://coder.com/docs/coder/latest/workspaces/vs-code-extensions#adding-extensions-to-custom-images
spwoodcock commentedon Mar 25, 2022
Though it would be nice to have the official remote extensions working, I can't see it happening anytime soon.
I have been using code-server for a few years now deployed inside a container (Docker & Kubernetes) & recently got remote debugging working inside Docker containers for a FastAPI app. (sidenote: Docker in Docker is messy. I currently bind mount
docker.sockfor local development, but I'm sure using a remote TCP host viaDOCKER_HOSTwould work too.)For anyone looking at remote debugging, this approach should work for any language that supports a remote debug package (e.g. Python, Node...). I currently use the
debugpypackage in Python.In the root of your repo, add
launch.jsonandtasks.jsoninto the.vscodedirectory.launch.json:
{ "configurations": [ { "name": "Python - Remote Attach", "type": "python", "preLaunchTask": "docker-compose: cycle", "request": "attach", "host": "NAME_OF_YOUR_DOCKER_CONTAINER", "port": 5678, "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "/opt/app" } ], "justMyCode": false, } ] }tasks.json (note: you could use a dockerCompose type task, but this doesn't support V2):
{ "version": "2.0.0", "tasks": [ { "label": "docker-compose: cycle", "type": "shell", "command": "docker compose down && docker compose up -d api --no-build", } ], }Relevant part of Dockerfile to make this work:
archef2000 commentedon Aug 29, 2023
Hello sorry if i ask, but is there currently a way to use the projects of code-server with the desktop app?
Enissay commentedon Jun 30, 2024
Any update on this please ?
Or at least if someone could share a workaround to access remote files from ssh through code-server on docker ?
code-asher commentedon Jul 1, 2024
We have no plans on working on this, but there is an open source version here: https://github.com/jeanp413/open-remote-ssh
I have not tried it, but maybe it can be made to work with code-server.
code-asher commentedon Jul 1, 2024
Or this extension might work: https://open-vsx.org/extension/Kelvin/vscode-sshfs
Enissay commentedon Jul 1, 2024
It doesnt sadly, I tried 2 more from the extension list and none worked, they just show empty pages...
Thank you, I will try to figure out how to install it and revert back
MobCode100 commentedon Nov 13, 2024
For a workaround, use the extension SSH FS as @code-asher mentioned. It works fine.
Tealk commentedon Apr 19, 2025
The 'Open Remote - SSH' extension is not available in code-server for the Web. Click 'More Information' to learn more.