如何在IDEA插件项目配置中添加Kotlin PSI源文件
我之前在开发IDEA插件支持Kotlin的时候,正好碰到过一模一样的问题——明明加了IDEA源码SDK,可KtClass这些PSI类还是只能看反编译的,折腾了好一阵才搞定,给你几个实用的解决方向:
确认SDK包含Kotlin插件源码
KtClass这类PSI属于Kotlin插件模块,并不是IDEA核心源码的一部分。你需要打开File > Project Structure > SDKs > [你的IntelliJ SDK],切换到Plugins标签页,确保勾选了Kotlin插件,并且它的源码路径指向正确的Kotlin插件源码目录(而不是只依赖IDEA核心仓库)。用Gradle自动管理依赖与源码
如果你的插件项目用Gradle构建,直接借助官方的IntelliJ Platform Gradle Plugin来处理会更省心。在build.gradle.kts里做如下配置:intellij { version.set("2024.1") // 替换成你使用的IDEA版本 plugins.set(listOf("Kotlin")) downloadSources.set(true) }配置完成后执行
gradle sync,Gradle会自动下载对应版本的Kotlin插件源码,完全不用手动克隆仓库,还能保证版本和你的SDK完全匹配。手动克隆Kotlin插件仓库并配置路径
要是你偏好手动管理源码,需要克隆JetBrains的Kotlin插件仓库(注意不是IDEA核心仓库),然后在SDK的源码路径里添加它:- 打开
File > Project Structure > SDKs > [你的IntelliJ SDK] > Sourcepaths - 点击"+"按钮,添加克隆仓库里的
idea子目录(Kotlin的IDEA插件代码都在这里) - 移除之前自动生成的反编译源码路径,避免冲突
- 打开
最后一步:同步并重启IDEA
不管用哪种方法,都记得同步项目(Gradle项目执行sync,手动配置的话点击Apply),然后重启IDEA。这样新的源码路径才会生效,之后再查看KtClass就能看到真实的源码了。
内容的提问来源于stack exchange,提问作者Ruslan Akhundov

