3timeslazy / vscodium-devpodcontainers

VSCodium extension for devcontainer remote development using DevPod.
GNU Affero General Public License v3.0
5 stars 1 forks source link

cannot connect to workspace #4

Open michael-brade opened 3 weeks ago

michael-brade commented 3 weeks ago

Hi,

I would love to use VS Codium with Dev Containers, so I think this extension is a great idea! Now, when setting everything up and then selecting "DevPod Containers: Open in Container", I get the following log:

Workspace test already exists
Creating devcontainer...
Setup container...
Install extensions 'ms-vscode.cpptools,twxs.cmake,ms-vscode.cmake-tools,llvm-vs-code-extensions.vscode-clangd,eamodio.gitlens' in the background
Run 'ssh test.devpod' to ssh into the devcontainer
Starting VSCode...

And then a VSCodium dialog pops up that says: "Workspace does not exist". In the background, it actually starts VS Code! So I deleted the "code" binary, however, it does not change anything except that VS Code is not started anymore.

Any ideas?

3timeslazy commented 3 weeks ago

Hi,

Thank you!

I think I know what's the problem. If devpod is not configured it uses vs code as a default ide. You can check it by running cat ~/.devpod/config.yaml | grep defaultIde. I made a fix for that. Try updating the extension to v0.0.9.

If the fix doesn't work, run devpod ide use none and reopen the workspace again.

3timeslazy commented 4 days ago

@michael-brade I'm closing the issue. If you try installing the extension again and it still fails, please feel free to reopen it

michael-brade commented 1 day ago

Hi, sorry for the delay, too much work. I have now tried again, and without changing anything, just using 0.0.12 didn't fix it. Setting devpod ide use none also doesn't fix the problem. Anything else I can try to debug?

3timeslazy commented 1 day ago

Hi @michael-brade

No problem. Could you please send me a command or a devcontainer you're using? Because right now I created a workspace with vscode as editor, reopened it with the extension and it worked.

michael-brade commented 1 day ago

weird. I am currently trying to get the logs, but there is almost nothing. One thing though I just discovered: on the lower left corner where the remote is shown, it says: "SSH: dev-container-name.devpod", and when I click on that, I can choose "Show Log" from the menu. It is empty. If I then want to switch the tab to "Terminal", I get "The terminal process failed to launch: Starting directory (cwd) "/workspaces/dev-container-folder" does not exist." So apparently, it ignores the paths I have set in devcontainer.json:

    "workspaceMount": "source=${localWorkspaceFolder},target=/source,type=bind",
    "workspaceFolder": "/source",

And last, if I close the remote connection, then VS Codium forgets which folder (here called "dev-container-folder") I had open.

If you still need an actual Dockerfile, let me know. I will try to create a minimal one.

michael-brade commented 1 day ago

More: starting codium in the workspace I want to use, it pops up a dialog: A devcontainers file found. Reopen in a container? Most of the time it then says: No workspace found. I just tried the following:

devpod delete dev-container-folder
codium .

Then it once started building the container, but when trying to reproduce it, I got "No workspace found" again. devpod list is empty, too. Neither "DevPod Containers: Recreate and Open in Container" nor "DevPod Containers: Open in Container" works at this point, both say "No workspace found."

michael-brade commented 1 day ago

A little more experimentation: doing "devpod up ." creates the container and I can ssh into it. I also have the extension " jeanp413.open-remote-ssh" and I can then use "Connect Current Window to Host" and enter the devpod name. After that, I still have to open the folder/workspace. I guess all those steps are supposed to be done by this extension.

3timeslazy commented 7 hours ago

I think I found the problem in the extension. While I’m working on the solution, you can try changing your devcontainer.json as follows:

workspaceMount: source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind

workspaceFolder: /workspaces/${localWorkspaceFolderBasename}