在内容根目录中配置文件夹
在内容根目录中,PhpStorm 可以区分包含源代码的文件夹,以及在搜索、解析、观看等时要忽略的文件夹。要区分不同类型的文件夹,请将内容根目录下的任何文件夹标记为源文件夹或排除。
在内容根目录中,PhpStorm 可以区分源文件夹、资源根文件夹、测试源代码和排除文件夹。
标记为Source的文件夹是当前项目中所有 PHP 命名空间的根文件夹。
文件夹中标记为资源根的文件可以相对于该文件夹进行引用。排除的文件夹不参与索引,因此在搜索、解析、监视和其他操作时会忽略它们。
要调用此区别,您可以将内容根目录下的任何文件夹标记为Source、Resource Root、Test或Excluded。
您定义的文件夹配置还规定了 PhpStorm内部实体检查使用的行为,它检测标记为的实体的不正确使用@internal
。
标记目录
您可以通过两种不同的方式将文件夹分配给类别:
在项目工具窗口中,使用文件夹的上下文菜单。
在内容根目录下标记目录
在设置/首选项对话框 ( Ctrl+Alt+S) 中,选择目录。
在目录页面中,单击所需的内容根目录。此内容根目录下的目录在右侧窗格中显示为树视图。
选择要标记的目录并执行以下操作之一:
要让 PhpStorm 将所选文件夹的内容视为单元测试,请单击“测试”工具栏按钮或从所选内容的上下文菜单中选择“测试源”。
要让 PhpStorm 将所选文件夹视为项目中使用的命名空间的根目录,请单击Sources工具栏按钮或从所选内容的上下文菜单中选择Sources。
基于此设置,当您在创建或移动PHP 类期间想要在另一个父命名空间下创建新命名空间时,即当您实际创建 PHP 类或将其移动到不存在的命名空间时,PhpStorm 会建议正确的文件夹名称在另一个父命名空间下。如果未指定Sources文件夹,则必须手动键入正确的文件夹。
指定Sources文件夹不是强制性的,但这有助于您保持项目结构符合PSR0和PSR4标准。有关详细信息,请参阅在项目中配置 PHP 命名空间。
要让 PhpStorm 在索引、解析、代码完成等过程中忽略所选目录,请单击“排除”工具栏按钮或从所选内容的上下文菜单中选择“排除”。
要使 PhpStorm 能够完成所选文件夹下资源的相对路径,请单击“资源根”工具栏按钮或从选择的上下文菜单中选择“资源根”。
在项目工具窗口中标记目录
在项目工具窗口中右键单击所需的目录。
从上下文菜单中,指向将目录标记为节点。
选择标记为 <目录状态>。
取消标记目录
要将文件夹恢复到正常状态,您需要取消标记它。
在Settings/Preferences的目录页面上,执行以下任一操作:
在内容根目录下的文件夹列表中选择目录,然后单击:
再次单击文件夹的状态图标。
从目录的上下文菜单中选择相应的命令。
在Project 工具窗口中,右键单击所需目录,指向Mark Directory As节点,然后选择Unmark as <directory status>。
内部实体处理
PhpStorm对内部实体检查的使用会检测到标有@internal
注释的实体的不正确使用。这样的实体应该在包或库的内部。
您为项目定义的文件夹配置规定了 PhpStorm 是否将实体视为内部实体:
在没有配置任何Sources 文件夹的项目中,不会
@internal
标记任何类的用法。如果一个
@internal
类位于配置的Sources 文件夹中,则不会标记同一源文件夹中的用法。此源文件夹之外的用法已标记。如果一个
@internal
类位于library 内部,则标记其在 library 之外的所有用法。在Test Sources 文件夹中,没有
@internal
标记任何类的用法。