Intellij Idea IntelliJ插件开发-如何查找和分析调用?

yrwegjxp  于 2023-01-29  发布在  其他
关注(0)|答案(1)|浏览(166)

我正在为IntelliJ IDEA编写一个插件,主要目的是帮助我使用自己的API,现在我卡住了。我的API使用方式如下:

public class SomeClass {
    @Override
    public void specialMethod() {
        CustomCommand command = CommandManager.registerCommand(CommandClass.class, this);
        command.addMapper("mapper1", ...); // it doesn't matter what is here, the string is the only important thing here
    }
}
public class CommandClass extends AbstractCommandClass {
    public CommandClass(SpecialClass specialClass) {
        super(SpecialClass);
    }

    @Mapper("mapper1") // HERE
    public void someMethod() {
        // ...
    }
}

在注解@Mapper中,我使用字符串类型的键,并希望我的插件验证该字符串是否已使用addMapper方法在SpecialClass中注册。此外,可以有多个唯一的Map器,所以我也希望得到建议。我知道如何创建检查,意图和提供者,这里的主要问题是:* * 如何正确收集所有使用过的字符串?**

dvtswwa3

dvtswwa31#

看一下File-Based Indexes
它以map-reduce的方式工作。基本上你指定一个文件到键的函数,IDEA会为你建立一个键到文件的索引。它会在文件改变的情况下保持索引最新,所以你不需要担心它。它甚至可以存储与键相关的额外数据。
然后就可以按键查询文件,枚举索引中的所有键或文件等等。

相关问题