IntelliJ Platform SDK DevGuide

Edit page

PSI Cookbook

此页面提供了使用PSI(程序结构接口)的最常见操作的配方列表. 与开发自定义语言插件不同,它讨论了使用现有语言(例如Java)的PSI.

##如果我知道它的名字但是不知道路径,我如何找到文件?

FilenameIndex.getFilesByName()

##如何找到特定PSI元素的使用位置?

ReferencesSearch.search()

##如何重命名PSI元素?

RefactoringFactory.createRename()

##如何重建虚拟文件的PSI?

FileContentUtil.reparseFiles()

Java Specific

###如何找到类的所有继承者?

ClassInheritorsSearch.search()

###如何通过限定名称查找课程?

JavaPsiFacade.findClass()

###如何通过短名称找到课程?

PsiShortNamesCache.getInstance().getClassesByName()

###如何找到Java类的超类?

PsiClass.getSuperClass()

###如何获取对Java类的包含的引用?

PsiJavaFile javaFile = (PsiJavaFile) psiClass.getContaningFile(); PsiPackage pkg = JavaPsiFacade.getInstance(project).findPackage(javaFile.getPackageName());

###如何找到覆盖特定方法的方法?

OverridingMethodsSearch.search()

Last modified: 9 May 2019