[英]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.