There's also tramp mode for emacs - where you can set up a buffer in emacs to access code over ssh/whatever connection you want.
I’m a longtime emacs user and this seems to be a common theme for me. I try some feature in emacs, it works great but breaks on some edge case or something, and then I have to find a workaround.
The advanatage of emacs of course is that you can basically always find and implement said workaround if you try at it.