PSI元素
大约 1 分钟
PSI元素
PSI (Program Structure Interface) 文件表示PSI元素的结构(也称之为PSI树)。一个单独的PSI文件(它也是一个PSI元素)可能有多个PSI树(一种编程语言对应一个PSI树,可以查看文档:文件查看器 )。一个PSI元素也可以有 子PSI元素。
PSI 元素和单个 PSI 元素级别的操作用于查看源代码在 IntelliJ Platform 中表示出来的内部结构。例如,你可以使用PSI元素分析代码,像代码检查和 intention actions.
PsiElement 是所有PSI元素的基类。
如何获取PSI元素
Context | API |
---|---|
Action | AnActionEvent.getData(CommonDataKeys.PSI_ELEMENT) 注意:如果在打开的文本中,文本插件符所在的位置正好是引用对象(Reference ) ,该方法将解析引用对象,对返回引用对象的本体) |
PSI File | PsiFile.findElementAt(offset) :返回指定位置的叶子元素,通常是lexer token. 使用 PsiTreeUtil.getParentOfType() 查找父元素中指定类型的元素 PsiRecursiveElementWalkingVisitor |
Reference | PsiReference.resolve() |
PSI元素能干啥
参考 PSI功能手册
Loading...