我正在使用Kohana框架,它允许多个类定义(在应用程序和系统子文件夹中).我正在使用phpstorm作为一个给我消息的IDE multiple definitions exist for class
.有没有办法告诉phpStorm哪个类定义是正确的?
有没有办法告诉PhpStorm哪个类定义是正确的?
不幸的是,你不能.
https://youtrack.jetbrains.com/issue/WI-17646 - 观看此门票(星级/投票/评论)以获得有关任何进展的通知.
ATM你或者只是忽略了挥手......或者你可以配置检查以不报告这种情况(Settings/Preferences | Editor | Inspections | Undefined | Undefined class | Don't report multiple class declaration potential problems
).
即使配置了这种检查,IDE仍会询问您要跳转到哪个类声明(这是正确的行为,因为IDE不知道您是否希望查看原始实现或实现自己的实现).
唯一的另一种方法 - 确保项目中只有一个具有相同名称的类:
将整个文件夹标记为已排除
将单个文件标记为纯文本
两者都可以通过项目视图中的内容菜单获得,并且仅适用于项目文件(例如,如果尝试应用于库范围,将无法使用或无效).
您应该忽略完整的缓存文件夹.
转到设置>目录
选择 var\cache
将其设置为"排除"
来自:https://github.com/Haehnchen/idea-php-symfony2-plugin/issues/301
我找到了解决问题的可能方法 - 我可以 mark file as plain
作为变体,您可以仅针对特定班级关闭检查.将光标underwaved类的名称里面,然后Alt+Enter
→交通Inspection options
→交通Supress for statement
PHPStorm补充道
/** @noinspection PhpUndefinedClassInspection */
上面的类声明和类名不再是underwaved.
我到处都是网络,并没有一个选项对我有用...我已经苦苦挣扎了几个月,今天我找到了一个解决方案,所以如果以上都不适合你,请尝试重新定义PHP包括路径列表.在"设置">"语言和框架">"PHP"下,确保仅配置包含项目或应用程序使用的源路径的文件夹.
我的场景是我做了很多软件包开发,虽然我的软件包都在一个项目中,但是在我的作曲家配置中它们也在"vendor"中"符号链接",因此PHPStorm在供应商文件夹中找到了重复的代码.和我的包文件夹.同样,如果包含路径重复,或者路径配置为查找项目之外的代码(已经是项目的一部分),它也会找到多个定义.因此,排除供应商中的符号链接文件夹,允许PHPStorm仅查找源的一个副本到我的包,如果我的包包含他们自己的供应商文件夹,它们也将显示为重复的定义.删除包含路径列表中可能找到应用程序的任何内容