使用多个依赖的PhpStorm项目

时间:2016-09-10 02:39:30

标签: phpstorm

我的源文件分为多个存储库,它们位于不同的目录中。我为每个存储库创建了单独的PhpStorm项目。所以我希望PhpStorm搜索功能适用于某些项目。如何做到这一点?如何在PhpStorm中标记依赖项目?

注意:我已尝试将顶级文件夹设为“Project Root”。但是该项目根包含许多其他我不需要的项目,因此从我的角度来看它的效率有点低。

我使用过Netbeans,我可以通过转到项目属性并设置包含路径来实现。我在File > Default Settings > Language & Frameworks > PHP的PhpStorm中找到了类似的选项,并设置了包含路径。但是PhpStorm搜索功能/文件打开对包含路径不起作用。

或者至少我如何在同一个窗口中打开多个项目。

我的PhpStorm信息

PhpStorm 2016.2.1
Build #PS-162.1889.1, built on August 23, 2016
Licensed to PhpStorm Evaluator
Expiration date: October 10, 2016
JRE: 1.8.0_76-release-b216 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

3 个答案:

答案 0 :(得分:3)

  1. 打开您的项目
  2. Settings/Preferences | Directories
  3. 使用Add Content Root按钮并指向所需的文件夹
  4. 保存设置后 - 新添加的内容根将成为项目的一部分,并将在项目视图中列为其他节点。
  5. 基本上 - 主项目文件夹本身就是一个内容根目录;使用上面的内容,您只需在项目中添加其他文件夹 - 它们将以与主内容根相同的方式处理。

    显然,由于这些额外的文件夹将成为此项目的一部分, 当前项目设置也将应用于这些文件夹

    PHP | Include paths适用于您在项目中使用但不编辑它们的第三方代码/库。

    PhpStorm 2016.3 (目前处于EAP阶段),可以打开其他项目作为当前项目的一部分。这允许跨项目搜索/重构等。

    一旦这样打开.. 这样的附加项目将使用当前项目的设置 - 就像其他内容根源(基本上,上面的一个更容易使用的版本)。它不会像NetBeans那样工作,因为你有一个"工作空间"并且可以使用单独的设置管理多个项目。

    一些链接:

      

    我在File > Default Settings > Language & Frameworks > PHP的PhpStorm中找到了类似的选项,并设置了包含路径。

    Default Settings仅影响未来的新项目 - 它们不会以任何方式影响现有项目。

    如果有的话 - 它应该只通过File | Settings(Windows / Linux)或Mac上的PhpStorm | Preferences完成。

      

    但PhpStorm搜索功能/文件打开对包含路径不起作用。

    不完全是。

    他们"不工作"因为这些文件夹中的文件不是用于编辑的 - 它们仅供参考。你仍然可以搜索/打开它们......但是你必须使用其他选项(例如在Find in Path它可以包括"库"范围;在Navigate | File和类似 - &# 34;包括非项目文件"左右)。

答案 1 :(得分:0)

  • 您也可以从Project Structure窗口中忽略每个项目的文件/文件夹。

Project Structure window

答案 2 :(得分:0)

PHPStorm真正支持是在同一窗口中处理多个项目,这取决于 MYTH 还是 LIE

它允许您在一个窗口中打开多个项目,但实际上并没有支持以任何有意义的方式来处理它们。

无法表示在您每次调用涉及以下概念的任何操作时要记住的许多已打开项目中的哪个 “当前的项目”。在“工作区”的整个生命周期中,“当前项目”选择不可变:恰好是在其中打开/创建的第一个项目,并且其中有无法将其他任何项目标记为当前/活动/“您的想法”。

所有所谓的“按项目”配置设置实际上是此“主”或“主机”项目的设置,这是第一个添加到工作区中的项目。 无法配置任何 每个您以后附加到工作区的任何其他项目。这些进一步的项目不是工作区中的头等公民。

这种设计从一开始就被破坏了,并且进一步的破损加剧了这个问题。例如,PHPUnit运行配置曾经对 项目 相关的phpunit.xml所在的 有所了解,可能(尽管很不客气)自定义一些可配置的 per 项目。此功能已被开发人员的有意识的,对用户不利的积极决定取消。