osx-mavericks - 使用 WebStorm (JetBrains) 和 SSHFS 安装的开发服务器(Mavericks、OSXFUSE)?不断拆卸驱动器

标签 osx-mavericks homebrew webstorm fuse sshfs

更新:我看到有人尝试将 PyCharm 与 SSHFS 结合使用,而 JetBrains 说:“不”。也许这行不通?

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

无论如何,SSHFS 挂载都会定期卸载,但自从我开始尝试将 WebStorm 与它一起使用以来,每次启动 WebStorm 时它都会卸载并开始扫描 SSHFS 磁盘上的文件 — WebStorm 会给出消息“外部文件更改同步可能”速度慢:无法观看项目文件(它们是否在网络挂载下?)”,如果我尝试打开文件,它就会卡住。同时 SSHFS 磁盘已被卸载。如果我通过终端重新安装,WebStorm 会不满意,要么卡住,要么只是坐在那里。

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

感谢您的帮助 -

最佳答案

这就是我的操作方法,也许对你有帮助。如果我似乎忽略了某个配置设置,请询问,我会修复它。但总而言之,这是非常成功的:

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

当我在家坐下来工作时,我会手动启动 VPN - 因为有很多变体,我假设您知道如何执行这部分。

我打开一个终端并调用:

caffeinate &

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

我在服务器和客户端之间设置了一个安装点。我有一个在安装点关闭时运行的脚本(根据您自己的工作定制):

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 目录被创建并写入很多内容。该目录内部有很多文件,这些文件会被写入很多,并且根据您的网络速度,这可能会导致问题。这确实意味着无论你走到哪里都必须维护一些设置,但就我而言,这是一个很小的代价,但可以得到很大的性能提升。

因此,因为我这样做,所以我必须手动将目录添加到我的项目中(在“首选项/目录”下)。但如果您使用庞大的 API,那么无论如何您都可能会这样做。我小心地将不需要引用的目录标记为“排除”,以使索引器的工作更轻松。我与数千名其他员工在共享目录结构中工作,并且我确保流不会交叉。

现在我有成千上万个文件,同步确实很慢。但只有当您离开应用程序并返回时才会触发同步。老实说,只要您有良好的互联网连接,这并没有那么糟糕。

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

关于osx-mavericks - 使用 WebStorm (JetBrains) 和 SSHFS 安装的开发服务器(Mavericks、OSXFUSE)?不断拆卸驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941967/

相关文章:

intellij-idea - 如何在 IntelliJ 的路径搜索中查找出现此路径的任何地方排除 node_modules

android - Mavericks 更新后 SDK 管理器损坏

房车要求 'Failed loading requirements for osx_brew!'

curl - curl在Mac上不支持http2

macos - "Closed pull requests"在 `brew search` 的输出中是什么意思?

javascript - Webstorm:关于项目子目录, "excluded"的真正含义是什么?

python - 使用 python3 安装 f2py

OS X 10.9 SDK 中缺少 Python.framework。为什么?还有 : Workaround?

macos - Mac OSX mavericks 中未找到 Maven

javascript - 根据机器类型或 IDE 标志配置 Node.js 应用程序