Intellij Idea IntelliJ Ultimate 14发现用法不起作用

nle07wnf  于 2023-01-20  发布在  其他
关注(0)|答案(9)|浏览(175)

我正在使用IntelliJ IDEA 14 Ultimate。当我在查找视图中搜索查找用法时,有一个类似“在项目文件中搜索用法”的信息,但没有返回任何结果。范围是“整个项目”。
我也有IntelliJ 14社区版。当它试图在社区版中找到用法时,它工作了。
你知道吗?

eblbsuwk

eblbsuwk1#

我也遇到了同样的问题,所以对于那些想快速找到答案的人,试试看
File -〉Invalidate Caches / Restart
感谢用户@yole和他的评论。

u91tlkcl

u91tlkcl2#

如果File -> Invalidate Caches / Restart不能解决这个问题,那么确保你的“src”文件夹在项目结构中被标记为“Sources”。

wnavrhmk

wnavrhmk3#

如果File -> Invalidate Caches / Restart不工作-〉关闭项目,从最近的项目中删除它,然后删除.idea文件夹,然后再次打开项目。

ruyhziif

ruyhziif4#

在Windows机器上的PhpStorm版本2019.1中,如果您按住AltGr键并将鼠标悬停在某个函数上,则会出现弹出窗口“显示方法的用法...”但这是误导性的,因为不会从其他文件中找到对该方法的调用。
显示用法的正确方法是按住Ctrl键并单击方法名称。

zqry0prt

zqry0prt5#

还有一些情况下“查找使用示例”功能不起作用。我可以举例说明一个非常简单的情况。
Provider.java:

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(); }
}

如果您单击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,它可以找到总是和所有的东西。

rm5edbpk

rm5edbpk6#

有时你的代码格式结构有问题。
试试这个-按ctrl + alt + shift + l和
1.选择所选文本
1.代码清理
你的问题就解决了

e5njpo68

e5njpo687#

您还可以临时强制使用“坏”源文件夹(例如:.../tmp),然后切换回正确的源文件夹(例如:src/main/java)。这一点,结合其他帖子中解释的缓存清理,为我的一个同事解决了这个问题。
您可以通过右键单击文件夹来声明/取消声明源文件夹,然后“将目录标记为..."。

yrdbyhpb

yrdbyhpb8#

你试过mark directory as -> Project Source and Header吗?我刚在CLion里算出来。

vq8itlhq

vq8itlhq9#

智能J IDEA 2022.2.1
Invalidate Caches/Restart不起作用之后,修复问题的是Mark Directory As -> Unmark As Sources Root,然后是'src/main/java'上的Mark Directory As -> Sources Root

相关问题