mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
* [webhelp] Fixes for TXP00152, TXP00002, test build 27 Jul 22:26 * [webhelp] Fixes for Part #4 TXP00010, EXCEPT decimal numbers in section titles * [webhelp] Fixes for Part #5 TXP00017 * [webhelp] Fixes for Part #4 TXP00010 - removed numbers from page section titles in "Custom Language Support Tutorial" and "Testing a Custom Language Plugin". * [webhelp] Removed numbers from page section titles in rest of project *.md files. * [new webhelp] Build #44 changes * [new webhelp] Maintenance merge from master * [new webhelp] Add placeholder file for webhelp import. * [webhelp] Correct redirects for file name changes * [webhelp] TOC not needed in webhelp * [format] {:toc} not needed for webhelp * add {:disable-links} to ensure demo links are not interpreted as real links. * Put all badges on the same line to simplify composition. * formatter.md: fix upsource link * fix some links * api_changes_list.md: remove note * migrate to webhelp - initial * fix GH edit URL * remove sdkdocs-template setup in VCS config * remove recently_updated.md * restore COC/CONTRIBUTING.md * api_changes_list.md: remove note * useful_links.md: IPE Co-authored-by: JohnHake <john.hake@jetbrains.com> Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
1.6 KiB
1.6 KiB
This page gives recipes for the most common operations for working with the PSI (Program Structure Interface). Unlike Developing Custom Language Plugins, it talks about working with the PSI of existing languages (such as Java).
Please see also Working with PSI efficiently.
{type="tip"}
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.getContainingFile();
PsiPackage pkg = JavaPsiFacade.getInstance(project).findPackage(javaFile.getPackageName());
or
com.intellij.psi.util.PsiUtil.getPackageName()
How do I find the methods overriding a specific method?
OverridingMethodsSearch.search()