0

我目前正在开发一个相当大的 Web 项目,该项目是使用 C servlet(利用GWAN Web 服务器)编写的。过去,我在 LAMP/PHP 工作中使用了几个 IDE,比如 Eclipse。

我对 Eclipse 的问题是您可以在本地镜像项目,在这种情况下这是不可能的,因为我在 Mac 上工作(服务器不在 OSX 上运行),或者使用“远程”视图,这将重新- 保存文件时上传文件。

在后一种情况下,文件仅在上传时被部分写入,这对于正在运行的 Web 服务器来说是不可行的,或者如果在上传期间丢失连接,文件可能会损坏。此外,为了更改某些字符,上传整个文件对我来说似乎效率很低。


所以我在想:

难道不能让 IDE 通过 SSH 打开 Vim 并在那里镜像我的更改,然后 :w (save) 吗?或者使用某种差异文件进行更改?

首选第一个,因为它具有 Vim .swp 文件的额外优势,这使得其他人可以知道何时有人已经在编辑该文件。


我目前的解决方案是使用 ssh+vim,但是我失去了 Eclipse 和其他更高级的 IDE 所拥有的所有很酷的功能。

另外,关于 X-Forwarding:我不喜欢它的原因是速度。当我想要做的基本上是“文本编辑”时,它感觉比仅在本地编辑要慢得多,并且占用了不需要的带宽。

PS:我找不到任何更适合该问题的标签,尤其是没有“远程”标签,但如果您知道,请随时添加它们。另外,如果还有其他类似的问题,请随时指出 - 我找不到任何问题。

非常感谢。

4

2 回答 2

2

如果您担心必须传输整个文件以进行细微更改,那么我想到的唯一解决方案是运行(连续或按需)rsync将远程站点镜像到本地系统(并返回)的作业。rsync 协议只是传输增量信息。根据Are rsync operations atomic at file level?,变化是原子的。

于 2013-09-27T19:12:07.503 回答
1

另一种可能性:在 Mac 上的虚拟机中运行所有内容。服务器和 IDE/文本编辑器都在同一个虚拟机上,因此您不必担心网络问题。

因为虚拟机上的源代码在某种 VCS 下,经典代码→测试→提交过程是微不足道的(至少在理论上)。

于 2013-09-27T19:47:24.350 回答