软件推荐 - Jetbrains 的远程 IDE 方案 Projector(远程开发)

作为 Jetbrains 家 IDE 的重度使用者,对于其在远程开发方面一直落后于 VS Code 感到挺遗憾的。幸运的是,Jetbrains 于 2021.3 提出了名为 Projector 的新方案,原理上比较接近 RDP,仅适用于 Swing 开发的 GUI 程序,传输绘制的命令到浏览器中,用 canvas 进行渲染。

好处是体验和本地相当一致,也不需要在开发机上装什么桌面环境,相比起 Linux 下的远程桌面,有更好的流畅度和清晰度。

以下列举一些坑和可能的解决方案(写于 2021-06-11,希望之后 Projector 能问题更少且更加好用):

  • IDE 快捷键和浏览器冲突,比如用于选中代码的 Ctrl-W,在浏览器中就变成关闭网页窗口了,实在是有些愚蠢。解决方法就是使用 Jetbrains 提供的 Projector 客户端。
  • 剪切板有问题,比如无法把 IDE 中的内容复制到外面,原因在于没有安全连接(HTTPS & WSS)。有两种方案:
    • 用端口转发(ssh -L)或者本地代理把请求的 ip 变成 127.0.0.1 就好了。
    • 给服务器配置 SSL 证书。
  • 无法使用输入法,愚蠢但是能用的方法就是在外面把字打好复制进去,另外当前有一个选项 inputMethod=ime 可以打开并不完善的输入法支持(只有最新的客户端版本才有)。
  • 无法多窗口。有时候会把某个文件或者终端或者什么标签页独立为一个窗口,对于多显示器很有帮助。解决方案也比较勉强,就是使用 ideWindow=[number] 参数,默认参数为 0,显示所有窗口,其他数字的话表示仅显示某一个窗口。
  • 无法多项目。其实和多窗口是同一个问题,但是还有另外的解决方法,就是起多个 projector-server,用不同的端口连(虽然听上去也挺蠢的)。