从我个人工作环境来说,我们都是在开发服务器上开发、调试。服务器硬件比较强,而且有显卡,并且时不时要用到别人编译好的动态库。如果要把开发环境搬到 Mac 本上,很费劲,不现实。 这几年我都是 ssh 到服务器使用 emacs,总体来说也没什么大问题。但是打字会有一点点延迟(服务器在国外,还隔了个跳板机),而且经常会有“闪屏”(初步怀疑是 lsp ui 引起的),比较影响体验。同时也丢失了一些 gui feature,心里不太舒服。 用了 vscode 的远程开发之后,想要通过 tramp 实现类似的体验。一开始是折腾环境变量,接着是 projectile 导致卡顿,所以全部换成 project.el。然后是搞 lsp-mode 的 remote client,时灵时不灵,看相关的 GitHub issue 也是一年多以前的了,尚未解决。最后发现 clang-format 也没有对 tramp 的支持。折腾了一周,还是放弃了。 相比之下,vscode 最大的体感优势就是“无感”。插件不需要专门去支持,因为他们就是运行在远端。环境、配置什么的也不用专门去适配,你也不会因为远程开发而丢失了本地的特性,因为 server 也是运行在远端。 同时说明一下,通过 socket 去连接远程的 emacs daemon 也是条死路,已经有人验证过了,我也是反复鞭尸了几次。
9 个赞