使用WebStorm(JetBrains)和SSHFS挂载开发服务器(Mavericks,OSXFUSE)?不断驾驶

Cer*_*ean 3 homebrew fuse sshfs webstorm osx-mavericks

更新:我看到有人试图使用带有SSHFS的PyCharm,JetBrains说:"不".也许这只是行不通?

我正在尝试在我正在工作的客户办公室的SSHFS挂载磁盘上使用WebStorm - 我以前从未使用过SSHFS.我正在使用OSX 10.9.2,通过home-brew安装SSHFS并安装了OSXFUSE.

在任何情况下,SSHFS安装都会定期卸载,但是自从我开始尝试使用WebStorm后,每次启动WebStorm时都会卸载它并开始扫描SSHFS磁盘上的文件 - WebStorm会给出消息"外部文件更改同步可能很慢:无法监视项目文件(它们是否在网络安装下?)"如果我尝试打开文件,它就会冻结.同时SSHFS盘已被拆除.如果我通过终端重新安装WebStorm不满意,要么冻结,要么只是坐在那里.

我使用"现有文件中的新项目"设置WebStorm项目 - 有没有办法使用SSHFS作为服务器进行设置?除了SSHFS光盘的登录名和密码之外,我没有任何其他特定于服务器的信息,但也许可以获得它.

谢谢你的帮助 - 

Mic*_*ays 6

这就是我的操作方式,也许它可以帮到你.如果有一个配置设置,我似乎已经掩盖了,只要问,我会解决这个问题.但总而言之,这非常成功:

我的构建环境隐藏在Linux发行版上,但我的开发环境位于Mac桌面(当我在工作时)和Mac Air(当我在家时).我的项目是巨大的,合同上我无法将代码移动到任何可以访问的机器上,如果我的笔记本电脑被盗了.所以我几乎必须使用ssh(和sshfs)来完成任何事情.

当我在家时,我坐下来工作,我手动启动VPN - 因为有很多变化,我会假设你知道如何做这部分.

我打开一个终端并调用:

caffeinate &
Run Code Online (Sandbox Code Playgroud)

因为我讨厌在计算机进入屏幕保护程序时断开连接.这可能是你断线的原因?每当我开发时,我都会打开这个终端.我也使用tmux,以便我的终端会话可以在计算机之间共享.无论如何...

我在服务器和客户端之间设置了一个挂载点.我有一个脚本,我在挂载点关闭时运行(为您自己的工作定制):

umount -f /Volumes/$MOUNTDIR/
umount -f /Users/$HOMEUSER/$MOUNTDIR
mkdir /Users/$HOMEUSER/$MOUNTDIR
sshfs $HOMEUSER@@SERVERADDR:/usr/$HOMEUSER/$MOUNTDIR /Users/$HOMEUSER/$MOUNTDIR
Run Code Online (Sandbox Code Playgroud)

然后我启动了Webstorm,PyCharm,ADS,IntelliJ(我是Jetbrains的粉丝).

此时,您可以在$ MOUNTDIR内打开目录并开始工作.如果您发现需要运行构建,这里有一个提示 - 不要在本地构建.而是使用SSH在服务器上发出构建命令(或运行脚本).构建运行后同步的开销很可能远远少于获取和编写构建的所有步骤.

如果我丢失VPN,我只会发现我断开连接.我曾经在计算机睡觉时断开连接.咖啡因固定了.

对于合理规模的项目,这可能就是您所需要的.接下来是优化 - 只有在你头疼时才这样做:

为了加快加载时间,我所做的是创建一个不属于mount的本地项目.在您作为项目打开的第一个目录的基础上创建并编写了很多.IDEA目录.在这个目录里面有很多文件可以写入很多文件,并且根据你的网络速度,它可能会导致悲伤.它确实意味着必须在任何地方保持一些设置,但在我的情况下,为了获得巨大的性能提升,这是一个很小的代价.

因为我这样做,我将不得不手动将目录添加到我的项目中(在Preferences/Directories下).但是如果你使用大量的API,你可能会这样做.我谨慎地将我不需要引用的目录标记为"排除",以使索引器的生活更轻松.我在数千名其他员工的共享目录结构中工作,并确保流不会交叉.

现在我有成千上万的文件,同步可能很慢.但只有在您离开应用程序并重新进入时才会触发同步.老实说,只要您拥有合理的互联网连接,就不会那么糟糕.

我希望这有帮助.一旦我开始使用它作为我的工作流程,我再也没有回去过.