在 MacOS Mojave 上的 PHPStorm 中向项目添加了外部文件夹

在 MacOS Mojave 上的 PHPStorm 中向项目添加了外部文件夹

我正在使用 PHP Storm 开发一个项目,该项目使用我正在开发的软件包。我为此制定了几个工作流程,但我真的很想将一个外部目录(软件包源)添加到我的项目中,而不会影响本地 git 或在供应商目录中进行编辑。

我已经尝试过一些从最慢到最快的序言工作流程,任何关于更好方法的建议都将不胜感激。

尝试 1 最慢 我在 phpstorm 中保持 2 个项目处于打开状态。我必须:

  1. 致力于活跃的项目。
  2. 做出我需要的改变vendor directory(哎呀!)
  3. 将更改复制到package project
  4. 提交更改package project
  5. 等待 packagist 获取更新的 repo
  6. 进行作曲家更新

尝试 2 速度很快,但有痛点 我在 phpstorm 中保持 1 个活动项目处于打开状态。并使用 simlinks 覆盖供应商目录中的项目,使其始终为直接代码。

输入的存储库composer.json需要包含您的代码的路径。

  1. 致力于活跃的项目。
  2. vendor directory在(现在的实际仓库)中进行我需要的更改
  3. 提交更改package project而不推送
  4. composer.json删除临时目录中的 repositories 键
  5. 将更新提交到主项目
  6. 将 repositories 密钥放回 composer.json 中

这很快,但如果你忘记了 composer.json 存储库密钥,你的项目就会被毁掉,而且在生产环境中更新 composer.json 和 composer lock 就不那么简单了

尝试 3 同样快,但有其他痛点 我在 phpstorm 中保持 2 个活动项目处于打开状态。

https://github.com/franzliedke/studio

它为您简化了所有步骤,基本上是两全其美的,但您仍然需要打开两个不同的项目,并且必须等待 Composer 更新来刷新供应商目录中的项目。此外,还有相当多的屏幕切换,当您在 Web 结果终端、git 和另一个代码编辑屏幕之间来回切换时,这可能会有点麻烦。

  1. 致力于活跃的项目。
  2. 在实际的 repo 中进行我需要的更改(另一个屏幕)
  3. 提交更改package project而不推送
  4. 运行 Composer 更新

这虽然很快,但不如在供应商目录中工作快,但更安全。问题总是出在主项目中,然后需要更新作曲家才能反映更改。

如愿的解决方案 1. 在 phpstorm 中有一个外部链接,您可以在其中拉入项目 src 目录。基本上,IDE 让我可以编辑其他包文件,就像我在链接的供应商中工作时一样。2. Sim 将项目存储库链接到供应商,这样当我在 IDE 文件夹中编辑时它总是最新的。3. 然后唯一需要的是一个应用程序或终端,以便package project根据需要逐步提交。

任何建议都将不胜感激抱歉,这篇文章太长了……为你坚持看到最后而欢呼 3 声。

答案1

我想出了一个适合自己的工作流程。这不一定适合所有人,但它可以让我在包处于活跃开发状态时将包导入项目,而无需使用 phpstorm 实用程序来包含该目录。

基本上我使用方法 3,它使用 studio 从供应商目录包创建到包代码的软链接。但是,我不用在另一个编辑器窗口或供应商目录中编辑它,而是创建一个vendor-dev目录,然后简单地将 /vendor-dev 添加到我的 `.gitignore'。这基本上让我可以将任何外部代码带入项目并同时处理它们,而无需触及供应商目录,并且永远不会触发进一步的版本控制。

这样做的最后一个好处是另一个令人惊讶的速度提升,我不必搜索我的包和/或我正在处理的特定文件的所有供应商目录。我可以直接链接到包,这很好,但我也可以直接链接到我正在处理的特定文件,例如类、服务提供商或控制台命令。

我希望这能帮助你提高工作效率。如果你发现更好的方法,请随时发表评论。

相关内容