Hacker News new | ask | show | jobs
by bryanlarsen 1422 days ago
Emacs has TRAMP for remote editing, although I'm not sure how that compares to VSCode's capability.
1 comments

> I'm not sure how that compares to VSCode's capability.

Not favorably. Perhaps there's a magic combination of SSH and Tramp settings that can make the experience lag free, but I can't find it. VSCode's remote editing was setup-free and close to seamless when I tried it.

Tramp has support for many, many more remote protocols though.

I suspect good ssh support is just so much more necessary for vscode than it was for Emacs when tramp was developed. I do think tramp was also full of generality towards things that are very uncommon these days (various different protocols, ssh workarounds, baud rates, …)
Lag free? What are you doing where lag is problematic? Sure it takes a couple hundred milliseconds longer to open a file or save a file but the actual editing is lag free, and that's what matters.

It's probably been a decade since I used TRAMP, so maybe it's gotten worse or more likely people are expecting more of it.

ControlMaster auto. Most distributions don‘t ship with it turned on because it needs somewhere to store the socket files, and nobody has pushed for it to be the default. And then you still have to know to set up key–based authentication so that it doesn’t ask for a password every time it needs to reconnect.

There are also non–trivial bugs that cause headaches when typing out a TRAMP path to open a file, possibly caused by interactions with the various autocomplete packages people may or may not be using. For example, if you want to edit a file on a different machine via ssh but also change to root using sudo, you can enter a multi–hop path like `/ssh:othermachine|sudo:root@othermachine:/etc/whatever.conf` which is very, very useful. However, if you mistype and put a colon instead of a pipe, or have to backspace to edit something, then it will usually just break. Some types of connection errors can cause it to break as you type, causing it to fail to accept further input. All you can really do is hit C-g and try again.

That said, I use TRAMP every day of the week and it is amazingly useful. I could do my job without it, but it would suck.