mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 10:17:50 +08:00
[site] existing psi cookbook migrated
This commit is contained in:
parent
0b1dd3c836
commit
cc71e23b41
@ -15,6 +15,7 @@
|
||||
* [Plugin Structure](plugin_structure.html)
|
||||
* [Architectural Overview](architectural_overview.html)
|
||||
* [Structure of IntelliJ IDEA Project](project_structure.html)
|
||||
* [PSI Cookbook](psi_cookbook.html)
|
||||
* [Advanced Topics](advanced_topics.html)
|
||||
* [Persisting State of Components](persisting_state.html)
|
||||
* [XML DOM API](xml_dom_api.html)
|
||||
|
56
psi_cookbook.md
Normal file
56
psi_cookbook.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: PSI Cookbook
|
||||
---
|
||||
|
||||
<!--
|
||||
INITIAL_SOURCE https://confluence.jetbrains.com/display/IDEADEV/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?
|
||||
|
||||
```java
|
||||
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()```
|
Loading…
x
Reference in New Issue
Block a user