在开发 IntelliJ 平台插件的过程中,你常常需要搞清楚 某个 IDE 弹框背后是如何操作 PSI(Program Structure Interface) 的。下面这篇笔记将介绍如何通过 Internal Actions、UI Inspector 以及调试技巧快速定位 PSI 调用链。
1. 启用 Internal 模式
Internal Actions 是 JetBrains 内部调试工具,默认对普通用户隐藏。要开启:
-
打开
idea.properties
(如果是插件开发,用来运行插件的沙箱 IDEA 实例)。 -
添加一行:
idea.is.internal=true
-
重启 IDEA。
此时,在"Help > Find Action"(Ctrl + Shift + A)里即可搜索到所有 Internal | ...
相关动作。
2. 常用 Internal Actions
- Internal | Show PSI:弹出当前光标所指元素的 PSI 树。
- Internal | Show Element under Cursor:显示光标处 PSI 节点信息。
- Internal | Dump PSI tree:将当前文件的 PSI 结构打印到控制台。
- Internal | Show AST:查看抽象语法树。
- Internal | Show Editor Context Info:展示编辑器上下文信息。
- Internal | Analyze Stack Trace:在 IDE 中美化查看栈跟踪。
- Internal | UI | Show Focused Component Info:显示当前获得焦点的 UI 组件信息。
- Internal | UI | Show Component Tree:展示当前窗口的组件树结构。
- Internal | UI | Show DataContext:显示当前 DataContext 相关信息。
- Internal | UI | Dump UI Hierarchy:将当前 UI 层级结构导出到日志。
入口位置说明: 开启 Internal 模式后,Internal Actions 会出现在菜单栏的 Tools 菜单下(Tools > Internal Actions),也可以通过"Help > Find Action"搜索 Internal | ...
直接访问。
3. UI Inspector:定位弹框组件来源
启用 Internal 模式后,按住 Ctrl + Shift 然后单击代码,可直接弹出 PSI 详情窗口。
该快捷键在不同 IDEA 版本中可能有所调整。建议进入设置页面,在 Keymap 中搜索 “UI Inspector”,以实际显示的快捷键为准。也可以在 Find Action(Ctrl+Shift+A)中搜索 “UI Inspector”,更快地查看和确定当前快捷键。
4. 小结
通过开启 Internal 模式、掌握 Internal Actions、UI Inspector 和调试断点,你可以迅速定位任何 IDEA 弹框背后与 PSI 交互的代码路径。这对插件开发者以及想要深入理解 IntelliJ Platform 的同学,都是必备技能。
(END)