将包含文件夹添加到PhpStorm中的项目

将包含文件夹添加到PhpStorm中的项目,phpstorm,moodle,Phpstorm,Moodle,我正在为Moodle开发一个插件,并在我的Moodle安装中创建了一个项目。我正在扩展一个名为block\u base的类,但是PhpStorm说未定义的类block\u base。我猜这是因为所有moodle文件(包括类block\u base)都不在项目文件中 如何将其添加到项目文件中?我可以简单地让整个Moodle安装成为一个项目,但我不想这样,因为我使用的是GitHub,然后我必须将所有Moodle文件都放在那里,这是毫无意义的。PHPStorm可以在一个项目中处理多个git根(这就是我

我正在为Moodle开发一个插件,并在我的Moodle安装中创建了一个项目。我正在扩展一个名为
block\u base
的类,但是PhpStorm说
未定义的类block\u base
。我猜这是因为所有moodle文件(包括类
block\u base
)都不在项目文件中


如何将其添加到项目文件中?我可以简单地让整个Moodle安装成为一个项目,但我不想这样,因为我使用的是GitHub,然后我必须将所有Moodle文件都放在那里,这是毫无意义的。

PHPStorm可以在一个项目中处理多个git根(这就是我管理插件的方式)

因此,您可以执行以下操作:

  • 查看主Moodle回购协议副本(从git@github.com:moodle/moodle.git)
  • 将插件(包括.git子目录)放在Moodle代码的正确位置
  • 将整个Moodle代码设置为PHPStorm的项目
  • 转到文件>设置>版本控制
  • 通常PHPStorm(在对话框底部)会显示检测到的git根的列表,您只需单击“添加根”。如果没有,请单击右侧的“+”并添加插件的路径

  • 现在,您可以对插件进行更改和更新,而无需签入Moodle的完整副本(作为额外的奖励,它可以轻松地获取最新的Moodle代码,这样您就可以根据升级测试插件)。

    但是PhpStorm如何知道推送什么到什么repo?或者它会自动解决这个问题吗?是的,当你推送它时,它会列出所有已经提交更改的git项目,并允许你决定推送哪些项目。假设您从未对核心Moodle代码做过任何更改(或者您没有提交这些更改),它将永远不会尝试推送到Moodle repo。