this post was submitted on 12 Oct 2023
2 points (100.0% liked)

Emacs

322 readers
1 users here now

A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!

Get Emacs

Rules

  1. Posts should be emacs related
  2. Be kind please
  3. Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.

Emacs Resources

Emacs Tutorials

Useful Emacs configuration files and distributions

Quick pain-saver tip

founded 2 years ago
MODERATORS
 

I'm interested to know what the future of remove development with emacs might look like. I'm a long time emacs user, and use rust, lsp-mode, magit and projectile heavily. The remote experience with tramp just isn't very good. I've had to work around several bugs that lead to hangs, and even though I'm only ~20millis away from my remote machine performance is pretty bad. I believe I've already done everything I can to make it fast (ssh control master, etc.), and I'm still not happy. On the other hand, VSCode (which I'm not familiar with) or IntelliJ make remote development a breeze. I really like how they hide latency, and handle reconnects well. I've also tried terminal emacs on the remote machine, but I just can't deal with the input lag.

It's remarkable how emacs has been able to adapt over the years, and so I'm interested to hear about some ideas to keep emacs relevant for this usecase.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago

I've been using Emacs w/ TRAMP for remote dev for 3 years. I use lsp-mode w/ clangd, eshell, magit. Because of my setup I can't build locally, both as the project won't build on macOS and because it'd probably take 45m-1hr to clean build versus a few minutes on the server.

I agree that the experience isn't flawless, despite using ControlMaster etc I still have latency on save/revert, and staging+committing in Magit too. The worst is getting the ssh sessions "crossed up", where lsp-mode is transferring some data or a grep job is running and I hit C-x C-f, and Emacs locks up, needing a healthy dose of C-g spam to get it back.

Despite all the problems, I still feel that Emacs is a better remote dev environment for me. I work on a large archaic project with an elaborate build system, multiple "in-house" languages, and Emacs works wayy better for weirdo projects like this than VS Code. The rest of my team, and the company as a whole, uses VS Code and I've seen coworkers have it drop out, lock up, and be clunkier than TRAMP in some situations. The amount of configuration to get it working well (especially clangd+lsp) isn't any easier than Emacs.

IMO all that Emacs needs to let it stand up against VS Code for remote dev is to improve the performance and polish (latency and lockups). The architecture is fundamentally the same as VSCode, especially if you're using lsp-mode or eglot. Emacs will never appeal to the "Out-of-the-box" users as VS Code does, but for the power users it should still be fast and work seamlessly.