在開發 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)