this post was submitted on 13 Mar 2025
17 points (100.0% liked)

Programming

19033 readers
186 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

I just started a new job where I have to ssh into a remote linux vm to work on a qt driven c++ project. I don’t really have a lot of leeway on what can be added to the remote environment, and I don’t think local development is possible. The vm has vim and qtcreator.

I’m from a Java background and I’m learning c++ for this role, while I’m comfortable in vim, I’d really like to have a tool that can give me autocomplete, jump to definition and linting. I know these things can be set up in neovim, but I asked about having that put on the box and was not given a good reaction.

I also know tools like vscode and possibly clion can be set up to do remote work via ssh. Does anyone have experience with this and suggestion on a good setup?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 5 days ago (2 children)

not sure what you're talking about but there's two things here.

TRAMP is great and you can run the lsp on the remote machine without installing anything assuming the linters and lsp are already installed. for comparison, vscode remote downloads and runs a shim thing when you connect.

I use doom emacs at work for large codebases all the time and haven't run into any problems. why does it only work for really small projects?

[–] [email protected] 2 points 5 days ago

Well, OP mentions he cannot install software on the machine, so I think that already blocks anything depending on lsp.

My experience is mostly from doing linux kernel programming on remote baremetal machines. I use ccls + eglot locally and have fiddled a lot with tramp, which is really good when it does work, but also tends to trip over bad connections.

I've also wrote all sorts of elisp hacks to be able to access the remote machine via tramp but have all code navigation commands apply to a local repository replica where the lsp server runs. My use case was similar to OP but the machines were not x86_64, so there wasn't even any lsp ported.

So yeah, my gut feeling having dealt with similar issues is that it's not worth it, YMMV.

[–] [email protected] 1 points 5 days ago

Oh and lsp-mode is super opinionated, it does a million things you don't want or need, so I wouldn't recommend that.