PhpStorm Ctrl+鼠标点击不能跳转到方法或者类的定义的问题探究与解决

所属分类:php | 发布于 2023-02-25 16:56:34

引言:作为一个老phper,也会犯新手错误。

不知道什么时候起,用phpstrom创建的项目,ctrl+鼠标单击不能跳转到对应的方法或者类的定义,一直都觉得怪怪的,之前还以为是phpstorm版本的问题,反复安装了好几个版本的phpstorm都是不行,然后就放弃了,不能跳转也能将就着用。

昨天看到phpstorm 2022.3在去年12月份的时候就已经发布了,今天突发奇想,看看升级到这个版本能不能解决这个问题。然后就有了下面的研究,最终解决了这个新手才会犯的错误。

从phpstorm 2022.1升级到了phpstorm 2022.3,依然没有解决这个问题。当ctrl+鼠标,出现了这样的提示”Cannot find declaration to go to

不应该呀,BaseController和ArticleController位于同一目录下,而且这是最简单的继承关系,不应该这都找不到呀

分析研究过程:

1、难道是最新的版本需要添加添加注释才能识别?

然后就去http404()方法定义的上面增加了注释,结果gg,看起来不是这个问题,继续探索。

2、如何解决phpstorm Cannot find declaration to go to的问题?

疑,网上有人也遇到了这样的问题,给出的结局方法是删除项目目录下的.idea文件,然后file-invalidate caches,最后再restart重启一下即可。尝试了两遍之后无果。继续探索。

3、Project Root folder? PROJECT_DIR?

继续探索又发现了一个叫Project Root folder的东西,哈,好像有点接近了,到这里其实就已经大概明白了,不能关联肯定是因为路径问题,phpstorm找不到路径所以不能识别。因为我的目录结构是工程文件不在根目录下,而是在项目根目录下又新建了一个叫php的文件夹,专门来存储php相关代码。然后就去找phpstorm的菜单,看看哪里能设置这个Project Root folder,把这个东西一设置,那岂不就OK了。结果,phpstorm的菜单里没有这一项,哦吼。

又去.idea目录下面的php.xml和workspace.xml文件里找,发现了一个$PROJECT_DIR$的东东,就是这个东西了,把它设置到根目录下面的php目录,那就OK了。然并卵,依然没找到设置的地方。

4、从创建项目的地方指定?

最后决定从创建项目的时候入手,其实一直没关注过phpstorm创建项目是的选项,这回来认真的看一看。

phpstorm的创建项目有两种方式:

第一种是New Project,当使用这种方式的时候,只有一个Location的选项。那这种方式肯定不合适。

第二种是New Project from existing files,选这种方式的时候,有五个选项,这回有门了。

最后经过一番比较,最后一种方式可以指定Project Root和Resource Root,把Resouce Root指定到php目录,然后再试一次,完美解决问题,这回可以随意跳转啦。

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接