Skip to content

Connecting to LSP with docker-in-docker setups. #2223

@paul

Description

@paul

Description

We've got a Rails app with some expensive and complicated dependencies (libarrow, among other things), so we run the app in docker-compose. Additionally, for most of our devs using macs, we've started using gitpod to develop the app. They run their own gidpod container on their own infrastructure, and expose the docker socket to that container, and we can docker-compose our app from there. Then vscode can connect to the gitpod docker infrastructure and interact with the files, etc...

I'm trying to figure out how to convince the vscode that connects to the gitpod container to run the ruby-lsp command within our dev container. I can write a wrapper script that would do something like docker compose run -it dev ruby_lsp, but I'm not sure how to get the extension to run my wrapper. Also, its gonna try to boot rails, so I'd need to wrap that command, too.

Not a bug report exactly, but maybe a feature request, to allow for a setting in the vscode extension that would let me override the command used to invoke ruby_lsp. (and another to control how it boots the rails app). Alternatively, there's other issues on here to expose a socket or port for vscode to connect to, so that might work if we can start ruby-lsp independently as part of docker-compose, and configure vscode to connect there.

Reproduction steps

  1. Have an app with a complicated set of dependencies, such that it can't bundle install or boot on a local machine or in a "normal" container, only within a purpose-built container with the deps needed.
  2. Get vscode to run ruby_lsp inside that container.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp-wantedExtra attention is neededpinnedThis issue or pull request is pinned and won't be marked as stale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions