Skip to content

Feature request: provide seamless VSCode Remote support #928

Closed

Description

@merlijn-sebrechts

I don't trust VSCode "devcontainers" to properly contain an LLM working on a codebase. I would really like to use LXD containers as devcontainers instead of regular Docker containers.

Workshop seems like the right tool to do this with, but it doesn't actually integrate with devcontainers.

Currently, I might be able to "hack" it by simply starting an environment and using the "Remote - SSH" extension to connect to it. But that requires a lot of manual work, and I still need to manually install the project-specific tools if there's no SDK config for this project.

I see two possible approaches:

  • Create a devcontainer-like feature that uses the workshop config file instead of a devcontainer config file. This feature is part of a vscode extension and hooks into the Remote feature to the remote into the workshop environment. The downside is that the user needs to recreate the devcontainer setup scripts to configure a workshop environment instead.
  • Create an integration between devcontainers and workshop that runs the devcontainer inside of the workshop environment. This would be the most seamless experience, but might be a bit more complicated/convoluted.

What do you think?

Activity

  1. jonathan-conder commented on Jul 8, 2026

    @jonathan-conder
    Contributor

    We have a vscode extension in the works.

    In the meantime, the Remote SSH workflow is actually quite simple in the latest release. Make sure your workshop has been launched recently to enable these features.

    1. Add this to your ~/.ssh/config:
    Include /var/snap/workshop/current/ssh/<UID>/config
    

    (replace <UID> with your user ID, i.e. id -u). ⚠️ This is currently undocumented and might be subject to change in future.

    1. Find the workshop's hostname:
    $ workshop info | grep hostname
    hostname:  dev.myproject.wp
    1. Run vscode:
    $ code --folder-uri vscode-remote://ssh-remote+dev.myproject.wp/project

    (replace dev.myproject.wp with the actual hostname).

    You're welcome to run a devcontainer inside a workshop if that's something you want to do, but our main focus is to support SDKs as the mechanism of setting up the container environment. The quickest way to convert your devcontainer setup into this language is probably to sketch an SDK.

  2. jonathan-conder commented on Jul 8, 2026

    @jonathan-conder
    Contributor

    Since you mentioned LLMs, I think we want to explore that area to make authoring SDKs easier; a skill or something to convert an existing devcontainer into a workshop or SDK might be useful.

  3. jonathan-conder commented on Nov 3, 2026

    @jonathan-conder
    Contributor
  4. astrojuanlu commented on Nov 4, 2026

    @astrojuanlu
    Contributor

    Waiting for @merlijn-sebrechts to chime in, but one could say this partially addresses the original request? (Emphasis mine)

    [...] The downside is that the user needs to recreate the devcontainer setup scripts to configure a workshop environment instead.

    • Create an integration between devcontainers and workshop that runs the devcontainer inside of the workshop environment. This would be the most seamless experience, but might be a bit more complicated/convoluted.

    IIUC, the idea was to ease migration from devcontainers.

  5. changed the title [-]Feature request: provide seamless devcontainer support[/-] [+]Feature request: provide seamless VSCode Remote support[/+] on Nov 4, 2026
  6. merlijn-sebrechts commented on Nov 4, 2026

    @merlijn-sebrechts
    Author

    I think this extension solves my issue, indeed. This implements the first of my two proposals.

    Migration from devcontainers would be even better (or support for running a devcontainer inside of a workshop), but I think that's a separate issue. I've changed the title of this issue to better reflect that and I'll close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions