Intellij IDEA插件如何获取当前打开文件的路径?
Intellij IDEA plugin how to get path of currently opened file?
我已经试过了:
Document currentDoc = FileEditorManager.getInstance(project).getSelectedTextEditor().getDocument()
VirtualFile currentFile = FileDocumentManager.getInstance().getFile(currentDoc);
String fileName = currentFile.getPath();`
但这只能获取文件名。
发生这种情况可能是因为您收到的 LightVirtualFile
不在内存中。试试这个:
PsiFile psiFile = PsiDocumentManager.getInstance(project).getPsiFile(currentDoc);
VirtualFile vFile = psiFile.getOriginalFile().getVirtualFile();
String path = vFile.getPath();
getOriginalFile
returns 表示物理文件的 PsiFile
对象(如果不在内存中则为 null)。如果您不确定该文件是否确实在您的文件系统中,请先检查 getOriginalFile
的结果是否为 null。
我已经试过了:
Document currentDoc = FileEditorManager.getInstance(project).getSelectedTextEditor().getDocument()
VirtualFile currentFile = FileDocumentManager.getInstance().getFile(currentDoc);
String fileName = currentFile.getPath();`
但这只能获取文件名。
发生这种情况可能是因为您收到的 LightVirtualFile
不在内存中。试试这个:
PsiFile psiFile = PsiDocumentManager.getInstance(project).getPsiFile(currentDoc);
VirtualFile vFile = psiFile.getOriginalFile().getVirtualFile();
String path = vFile.getPath();
getOriginalFile
returns 表示物理文件的 PsiFile
对象(如果不在内存中则为 null)。如果您不确定该文件是否确实在您的文件系统中,请先检查 getOriginalFile
的结果是否为 null。