mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-29 09:47:50 +08:00
1.5 KiB
1.5 KiB
title |
---|
PSI Cookbook |
{{ page.title }}
This page gives a list of recipes for the most common operations for working with the PSI (Program Structure Interface) in IntelliJ IDEA. Unlike [Developing Custom Language Plugins for IntelliJ IDEA], it talks about working with the PSI of existing languages (such as Java).
How do I find a file if I know its name but don't know the path?
FilenameIndex.getFilesByName()
How do I find where a particular PSI element is used?
ReferencesSearch.search()
How do I rename a PSI element?
RefactoringFactory.createRename()
How can I cause the PSI for a virtual file to be rebuilt?
FileContentUtil.reparseFiles()
Java Specific
How do I find all inheritors of a class?
ClassInheritorsSearch.search()
How do I find a class by qualified name?
JavaPsiFacade.findClass()
How do I find a class by short name?
PsiShortNamesCache.getInstance().getClassesByName()
How do I find a superclass of a Java class?
PsiClass.getSuperClass()
How do I get a reference to the containing package of a Java class?
PsiJavaFile javaFile = (PsiJavaFile) psiClass.getContaningFile();
PsiPackage pkg = JavaPsiFacade.getInstance(project).findPackage(javaFile.getPackageName());
How do I find the methods overriding a specific method?
OverridingMethodsSearch.search()