簡體   English   中英

Intellij Idea插件獲取虛擬文件的類文件

[英]Intellij Idea Plugin get class-file of virtual file

我正在編寫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()方法獲取目標目錄中的所有文件,然后過濾掉所需的.class文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM