【问题标题】:How to work on a large number of remote files with PHPStorm如何使用 PHPStorm 处理大量远程文件
【发布时间】:2013-08-21 17:09:23
【问题描述】:

我有一个小型 Debian VPS-box,我在上面托管和开发了一些小型的私有 PHP 网站。
我使用 PHPStorm 在 Windows 桌面上进行开发。

我的大部分项目只有几十个源文件,但也包含几千个 lib 文件。

我不想在我的本地机器上运行网络服务器,因为这会产生一整套问题,我不想为这样的小项目而烦恼(例如
设置另一个网络服务器
在我的桌面和 VPS-box 之间同步文件;
管理 Windows 和 Debian 的不同配置(不同的主机、路径...);
保持数据库架构和数据同步)。

我正在寻找一种在大量远程文件上使用 PHPStorm 的好方法。

到目前为止我的方法:

  1. 在 Windows 中挂载远程文件系统(通过 pptp/smb、ftp、webdav 尝试)并使用 PHPStorm 处理它,就像它是本地文件一样。
    => 索引、同步和 PHPStorms VCS 支持变得异常缓慢。这可能是由于文件访问的高延迟。
  2. PHPStorm 提供了自动将远程文件复制到本地计算机,然后在进行更改时同步它们的可能性。
    => 在初始复制之后,这很快。不幸的是,通过这种设置,PHPStorm 无法提供我大量使用的 VCS 支持。


对此的任何想法都非常感谢:)

【问题讨论】:

  • 我决定悬赏这个问题,因为我有类似的问题。我一直在使用 PHPStorm 的最佳 ide,但这是它最大的限制。它缺少有效地处理远程文件。我的方法是将 PHPStorm 用于小型项目,将 PHPDesigner 用于通过 FTP/SFTP 处理远程项目,这工作正常,PHPDesigner 能够创建类的层次结构等。我确信我的文件总是最新的即使在团队中工作......
  • 嗨,Imran,文档只是说 IDE 不支持在远程服务器上直接编辑,尽管这个问题的作者描述了一种解决方法,但它是一种缓慢的过度杀伤。在 PHP Storm 中,通过本地文件使用远程主机可能不是一个选项,因为它不会同步服务器上其他人所做的更改
  • PhpStorm 确实具有远程更改意识。请参阅设置->部署->选项[“通知远程更改”]。 PhpStorm 还提供了针对远程功能的差异。不过,最安全的设置是规定每个工程师都有自己的远程开发环境,然后将本地结账视为记录来源。通常,远程系统上的更改会导致开发环境隔离度差,应该解决这个问题,因为这是一个基本问题,很容易解决。

标签: version-control phpstorm remote-access


【解决方案1】:

我在与您的第二种方法(本地副本、自动同步更改)非常相似的设置中使用 PhpStorm,并且重要的是 VCS 支持。

理想;最简单 根据我的经验,最简单的解决方案是在本地机器上签出/克隆您的 VCS 分支,并使用您的远程文件系统作为暂存平台,该平台仍然不了解 VCS;一个普通的文件系统。

现实世界;需要远程 VCS 但是,如果(如我的情况)需要在每个系统上安装 VCS;也许您的远程环境是您商店的标准,或者您商店的专有审查/构建工具是特定于平台的。然后需要稍微不同的远程设置,但是将远程系统视为暂存仍然是最好的方法。

示例:Perforce - 集中式 VCS(客户端工作空间) 以我的经验,基于工作空间的 VCS 系统(例如 Perforce)可以通过在本地和远程系统之间共享相同的客户端工作空间来最好地处理,这具有只需应用一次 VCS 文件状态更改的好处。缺点是远程系统上的文件系统更改通常必须手动处理。就我而言,我手动 chmod(或操作系统等效项)我的远程文件并洗手(问题已解决)。另一种(双工作空间)方法需要更多活动部件,我不建议这样做。

示例:Git - 分布式 VCS 更简单的方法当然是 Git,它具有检测文件更改的神奇魔力,无需将文件权限直接耦合到 VCS。这让生活变得简单,因为您可以简单地从一个通用的工作分支开始并创建两个单独的分支“my-feature”和“my-feature-remote-proxy”。一旦您决定将您的更改合并到上游,您(理想情况下)从您的本地环境中这样做。远程代理分支可以恢复或任何你想要的。注意:在 Git 的情况下,我总是有两个分支,因为它很容易。当你的硬盘在异常的雷击中融化时,你会有额外的冗余:|

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-01-23
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多