IntelliJ Ultimate 14发现用法不起作用

时间:2014-12-24 09:36:46

标签: intellij-idea intellij-14

我正在使用Intellij IDEA 14 Ultimate。当我搜索查找用法时,在查找视图中有一个类似

的信息
  

在项目文件中搜索用法“并且不返回任何结果。范围是”整个项目“。

我还有IntelliJ 14社区版。当它尝试在社区版中找到用法时,它可以工作。

你有什么想法吗?

5 个答案:

答案 0 :(得分:61)

我遇到了完全相同的问题,所以对于寻找快速答案的人来说,请尝试

File - > Invalidate Caches / Restart

感谢用户@yole和他的评论。

答案 1 :(得分:5)

如果File -> Invalidate Caches / Restart无法解决 然后确保你的'src'文件夹在项目结构中标记为'Sources'。

答案 2 :(得分:1)

在其他情况下,“查找用法”功能不起作用。我可以说明一个非常简单的情况。

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

如果您单击Provider.java中的getID()方法并调用“查找用法”,它将在User.java中轻松找到该调用。但是,如果您在Provider.java中重命名或删除getInstance()方法,那么它将不再在User.java中找到getID()调用。

我认为是因为行Provider.getInstance()。getID()被标记为红色(编译错误),并且“查找用法”功能未将此失败代码视为对getID()的有效调用。这意味着,至少一些编译错误会影响“查找用法”结果

我很好奇地在https://youtrack.jetbrains.com/issues?q=find%20usages上查看了与此功能相关的bug列表,在那里我发现还有其他情况并得出了结论。综上所述,如果您不希望记住它的所有工作条件,并且希望始终进行完全搜索,那么我建议您使用grep来查找所有内容。

答案 3 :(得分:0)

有时候您的代码格式结构有问题。

尝试一下- 按 ctrl + alt + shift + l

  1. 选择所选文本

  2. 代码清除

那您的问题就解决了

答案 4 :(得分:0)

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