IntellIJ 中的资源编辑器不显示对类代码的引用

问题描述 投票:0回答:1

我在 Intellij 中打开了这个 [github]https://github.com/00-Evan/shattered-pixel-dungeon)存储库作为项目,然后我转到资产资源,然后打开文本资源文件 .properties。该项目使用 libGDX。之后,当我通过资源编辑器打开资源文件夹中的任何 .properies 文件时,Intellij 不会显示对使用该资源文本的类的任何引用,并将其标记为未使用的资源(实际上它在类中使用)。

这是从类中的 .propeties 文件访问的资源行的用法。

@Override
    public String info() {
        String info = desc();

        if (volume == 0){
            info += "\n\n" + Messages.get(this, "desc_water");
        } else {
            info += "\n\n" + Messages.get(this, "desc_heal");
        }

        if (isFull()){
            info += "\n\n" + Messages.get(this, "desc_full");
        }

        return info;
    }

我尝试更新资源编辑器插件和自己的intellij,但没有任何改变。试图用谷歌搜索类似的问题,但发现注意到。 期望 intellij 将显示对 .properties 文件中的类的引用。

java intellij-idea libgdx resources intellij-plugin
1个回答
0
投票

克隆并阅读代码后https://github.com/search?q=repo%3A00-Evan%2Fshattered-pixel-dungeon+desc_water&type=code

@Override
    public String info() {
        String info = desc();

        if (volume == 0){
            info += "\n\n" + Messages.get(this, "desc_water");
        } else {
            info += "\n\n" + Messages.get(this, "desc_heal");
        }

        if (isFull()){
            info += "\n\n" + Messages.get(this, "desc_full");
        }

        return info;
    }

但是密钥是

items.waterskin.desc_water
,如果你把密钥改成同样的,它不知何故可以找到用途。

Messages类是

com.shatteredpixel.shatteredpixeldungeon.messages.Messages
,IDEA无法解析如此复杂的逻辑来假设添加了前缀,因为它是一个静态代码分析器,由于性能原因,它不会在编码阶段尝试编译和评估任何类文件问题和鲁棒性(如果某些代码是错误的,它仍然尝试在字符串和类之间获得正确的关系)。

这可能不是一个好的答案,资源编辑器还有其他问题。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.