public class Provider {
private static final Provider instance = new Provider();
public static Provider getInstance() { return instance; }
public Integer getID() { return 0; }
}
User.java:
public class User {
private final Integer pID;
public User() { pID = Provider.getInstance().getID(); }
}
智能J IDEA 2022.2.1 在Invalidate Caches/Restart不起作用之后,修复问题的是Mark Directory As -> Unmark As Sources Root,然后是'src/main/java'上的Mark Directory As -> Sources Root
9条答案
按热度按时间eblbsuwk1#
我也遇到了同样的问题,所以对于那些想快速找到答案的人,试试看
File
-〉Invalidate Caches / Restart
感谢用户@yole和他的评论。
u91tlkcl2#
如果
File -> Invalidate Caches / Restart
不能解决这个问题,那么确保你的“src”文件夹在项目结构中被标记为“Sources”。wnavrhmk3#
如果
File -> Invalidate Caches / Restart
不工作-〉关闭项目,从最近的项目中删除它,然后删除.idea
文件夹,然后再次打开项目。ruyhziif4#
在Windows机器上的PhpStorm版本2019.1中,如果您按住AltGr键并将鼠标悬停在某个函数上,则会出现弹出窗口“显示方法的用法...”但这是误导性的,因为不会从其他文件中找到对该方法的调用。
显示用法的正确方法是按住Ctrl键并单击方法名称。
zqry0prt5#
还有一些情况下“查找使用示例”功能不起作用。我可以举例说明一个非常简单的情况。
Provider.java:
User.java:
如果您单击www.example.com中的getID()方法Provider.java并调用“Find Usages”,它会很容易地在www.example.com中找到该调用User.java,但如果您重命名或删除www.example.com中的getInstance()方法Provider.java,则它将无法再在www.example.com中找到getID()调用User.java。
我假设发生这种情况是因为Provider.getInstance().getID()行被标记为红色(编译错误),并且“Find Usages”特性不认为这个失败的代码是对getID()的有效调用。这意味着,至少一些编译错误会影响“Find Usages”的结果。
我很好奇地查看了https://youtrack.jetbrains.com/issues?q=find%20usages上与这个特性相关的bug列表,我看到了其他的例子,并得出了我的结论。总之,如果你不想记住它工作的所有条件,并且想要总是完全搜索,我推荐使用grep,它可以找到总是和所有的东西。
rm5edbpk6#
有时你的代码格式结构有问题。
试试这个-按ctrl + alt + shift + l和
1.选择所选文本
1.代码清理
你的问题就解决了
e5njpo687#
您还可以临时强制使用“坏”源文件夹(例如:.../tmp),然后切换回正确的源文件夹(例如:src/main/java)。这一点,结合其他帖子中解释的缓存清理,为我的一个同事解决了这个问题。
您可以通过右键单击文件夹来声明/取消声明源文件夹,然后“将目录标记为..."。
yrdbyhpb8#
你试过
mark directory as -> Project Source and Header
吗?我刚在CLion里算出来。vq8itlhq9#
智能J IDEA 2022.2.1
在
Invalidate Caches/Restart
不起作用之后,修复问题的是Mark Directory As -> Unmark As Sources Root
,然后是'src/main/java'
上的Mark Directory As -> Sources Root