PSI元素

原文链接:
http://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview/psi_elements.html

PSI(程序结构接口)文件表示PSI元素的层次结构(所谓的PSI树)。 单个PSI文件可以包括特定编程语言中的若干PSI树。 PSI元素又可以具有子PSI元素。

PSI元素和单个PSI元素级别上的操作用于探索源代码的内部结构,这由IntelliJ平台解释。例如你可以使用PSI元素进行代码分析,如代码检查意图操作

PsiElement类是PSI元素的基类。

我怎样得到一个PSI元素?

  • 操作:e.getData(LangDataKeys.PSI_ELEMENT)

注意:如果当前编辑器打开并且光标所在元素是引用,这将返回解析引用的结果。 这可能不是你所需要的。

  • 文件偏移: PsiFile.findElementAt()

注意:这返回指定偏移量最低级别的元素,通常是一个词法记号。大多数情况,你需要使用PsiTreeUtil.getParentOfType() 找出你真正需要的元素。

我能用它来做什么?

查看PSI指导手册

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,167评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,200评论 19 139
  • Day1: 单词作业 Day2: 神句翻译+逻辑导图 Day3: 总结反思 这次的文章在画思维导图的时候有点理不清...
    六点零八阅读 280评论 0 0
  • 今晚宝宝特别爱吃胡萝卜丝,我们晚饭期间,宝宝两手不停地抓胡萝卜丝,放进嘴大口吃,很有胃口,后来觉得头痒,就直接用...
    jr812阅读 259评论 0 0
  • 男神参加活动衣服有点……以后要注意个人卫生呀! 这是我眼中众多男神其中一枚,以前觉得二年级的史今很男神...
    guodazhuang阅读 256评论 0 0