我就是这样操作的,说不定能帮到你。如果有一个配置设置我似乎已经掩盖了,请问我会解决这个问题。但总而言之,这是非常成功的:
我的构建环境隐藏在 Linux 发行版中,但我的开发环境位于 Mac 桌面(当我在工作时)和 Mac Air(当我在家时)。我的项目非常庞大,根据合同,如果我的笔记本电脑被盗,我无法将代码移动到任何可以访问的机器上。所以我几乎必须使用 ssh(和 sshfs)来完成任何事情。
当我在家,坐下来工作时,我会手动启动 VPN——因为有很多变化,我假设你知道如何做这部分。
我打开一个终端并调用:
caffeinate &
因为我讨厌在计算机进入屏幕保护程序时断开连接。这可能是您断开连接的原因?每当我开发时,我都会打开这个终端。我还使用 tmux 以便我的终端会话可以在计算机之间共享。反正...
我在服务器和客户端之间设置了一个挂载点。我有一个脚本,我在挂载点关闭时运行(为您自己的工作定制):
umount -f /Volumes/$MOUNTDIR/
umount -f /Users/$HOMEUSER/$MOUNTDIR
mkdir /Users/$HOMEUSER/$MOUNTDIR
sshfs $HOMEUSER@@SERVERADDR:/usr/$HOMEUSER/$MOUNTDIR /Users/$HOMEUSER/$MOUNTDIR
然后我启动了 Webstorm、PyCharm、ADS、IntelliJ(我是 Jetbrains 的粉丝)。
此时您可以打开 $MOUNTDIR 中的目录并开始工作。如果您发现需要运行构建,这里有一个提示——不要在本地构建。而是使用 SSH 在服务器上发出构建命令(或运行脚本)。构建运行后同步的开销很可能远低于获取和写入构建的所有步骤。
如果我丢失了 VPN,我只会发现我会断开连接。每当计算机进入睡眠状态时,我都会断开连接。咖啡因解决了这个问题。
对于合理规模的项目,这可能就是您所需要的。所以接下来是一个优化——只有在你头疼的时候才这样做:
为了加快加载时间,我所做的是创建一个不属于挂载的本地项目。在您作为项目打开的第一个目录的基础上,有一个 .IDEA 目录被创建并写入很多内容。这个目录里面有很多被写入很多的文件,根据你的网络速度,它可能会导致悲伤。这确实意味着无论你走到哪里都必须维护一些设置,但在我的情况下,为大幅提高性能付出的代价很小。
所以因为我这样做,我必须手动将目录添加到我的项目中(在 Preferences/Directories 下)。但是,如果您使用庞大的 API,您可能还是会这样做。我小心地将不需要引用的目录标记为“排除”,以使索引器的工作更轻松。我与数以千计的其他员工在一个共享目录结构中工作,并确保流不会交叉。
现在我有成千上万个文件,而且同步确实很慢。但是只有当你离开应用程序并重新进入时才会触发同步。老实说,只要你有一个合理的互联网连接,它并没有那么糟糕。
我希望这有帮助。一旦我开始使用它作为我的工作流程,我就再也没有回去过。