gpt4 book ai didi

java - Intellij Idea Plugin获取虚拟文件的类文件

转载 作者:行者123 更新时间:2023-12-02 11:53:00 25 4
gpt4 key购买 nike

我正在编写一个 Intellij 扩展,因此我需要知道特定虚拟文件的类文件的位置。我通过以下方式加载虚拟文件:

public void actionPerformed(AnActionEvent e) {
if (e.getProject() == null) return;
FileEditorManager manager = FileEditorManager.getInstance(e.getProject());
VirtualFile files[] = manager.getSelectedFiles();
//Any files open?
if (files.length == 0 || !files[0].getPath().toLowerCase().endsWith(".java"))
return;
analyse(files[0]);
}

在分析函数内,我想在 gui 中显示类文件的内容。

是否可以从 j 给定的 java 文件或 psi 树接收类文件?

最佳答案

您可以使用FilenameIndex.getFilesByName()方法获取.class文件。由于您知道 .java 文件的名称,因此可以使用它来派生 .class 文件名。

但我认为它不会工作,因为 .class 文件位于目标目录中,并且 IDEA 不会索引该目录。您可以使用VfsUtil.collectChildrenRecursively()方法获取target目录中的所有文件,然后过滤出您需要的.class文件。

关于java - Intellij Idea Plugin获取虚拟文件的类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47760664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com