【问题标题】:IntelliJ Ultimate 14 find usages not workingIntelliJ Ultimate 14 发现用法不起作用
【发布时间】:2022-04-08 09:44:12
【问题描述】:

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

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

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

你有什么想法吗?

【问题讨论】:

  • 试用文件 |使缓存无效并重新启动?
  • @yole 您应该将此作为答案发布

标签: intellij-idea intellij-14


【解决方案1】:

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

File -> Invalidate Caches / Restart

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

【讨论】:

  • 为 Intellij 16 工作
  • 在 ubuntu 中为 Idea 13.0 工作
  • 在 MacOS Sierra 上为 PHPStorm 2017.1 工作
  • 为 IntelliJ 2017.2.1 工作
  • 应该被称为“无效的缓存和删除你的本地历史”如果有一个功能我真的希望 IDEA 能够实现它将两者分开,我实际上喜欢我的本地历史 - 加上大多数人建议使缓存失效,它实际上并没有帮助,所以我无缘无故丢失了我的本地历史 - 在这种情况下它确实有帮助(我认为我在升级后退出 IDEA 后在完成索引之前损坏了一些东西)
【解决方案2】:

如果File -> Invalidate Caches / Restart没有解决 然后确保您的“src”文件夹在项目结构中标记为“Sources”。

【讨论】:

  • 哇,如果我用“打开”打开一个项目,我当然希望该文件夹会被自动搜索。这对我有用。
【解决方案3】:

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

【讨论】:

  • 在我的情况下,我的项目是一个 gradle 项目,除了你的步骤之外,我还删除了 .gradle 文件夹,然后它就可以工作了。
【解决方案4】:

还有其他情况“查找用法”功能不起作用。我可以举例说明一个非常简单的案例。

Provider.java:

public class Provider {
    private static final Provider instance = new Provider();
    public static Provider getInstance() { return instance; }
    public Integer getID() { return 0; }
}

用户.java:

public class User {
    private final Integer pID;
    public User() { pID = Provider.getInstance().getID(); }
}

如果您单击 Provider.java 中的 getID() 方法并调用“Find Usages”,它很容易在 User.java 中找到调用。但是如果你重命名或删除 Provider.java 中的 getInstance() 方法,那么它将在 User.java 中找不到 getID() 调用。

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

我很好奇,在https://youtrack.jetbrains.com/issues?q=find%20usages 上查看与此功能相关的错误列表,在那里我看到了其他案例并得出了我的结论。总而言之,如果您不想记住它的所有工作条件并希望始终进行完整搜索,我建议您使用 grep 来查找所有内容。

【讨论】:

    【解决方案5】:

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

    显示用法的正确方法是按住Ctrl按钮并单击方法名称。

    【讨论】:

      【解决方案6】:

      您的代码格式结构有时会出现问题。

      试试这个 - 按 ctrl+alt+shift+l

      1. 选择选定的文本

      2. 代码清理

      那么你的问题就解决了

      【讨论】:

        【解决方案7】:

        您也可以暂时强制“坏”源文件夹(例如:.../tmp),然后切换回正确的源文件夹(例如:src/main/java)。 这与其他帖子中解释的缓存清理相结合,为我的一位同事解决了这个问题。

        您可以通过右键单击文件夹来声明/取消声明源文件夹,然后“将目录标记为...”。

        【讨论】:

          【解决方案8】:

          你试过mark directory as -> Project Source and Header吗?我只是在CLion里解决的。

          【讨论】:

            猜你喜欢
            • 2015-12-04
            • 1970-01-01
            • 1970-01-01
            • 2023-03-15
            • 2016-03-24
            • 1970-01-01
            • 2015-02-12
            • 2015-04-14
            • 2014-12-26
            相关资源
            最近更新 更多