You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IntelliJ IDEA中定位Kotlin invoke()函数/操作符的所有调用?

在IntelliJ中处理Kotlin函数式接口invoke调用的跳转与用法查找

场景说明

你定义了如下Kotlin代码:

interface Foo : (Int) -> String

class FooImpl: Foo {
   override fun invoke(int: Int): String = TODO()
}

调用时使用函数式接口的语法糖:

val foo : Foo = FooImpl()
foo() // 需要跳转至FooImpl.invoke(),并查找所有此类调用

跳转到FooImpl.invoke()的方法

  • 按住Ctrl(Windows/Linux)或Cmd(Mac),右键点击foo()调用处,选择「Go to Implementation」,直接跳转至实现方法。
  • 光标定位在foo()上,使用快捷键:Ctrl+Alt+B(Windows/Linux)或 Cmd+Alt+B(Mac),快速跳转至FooImpl.invoke()。
  • 若直接点击跳转无效,先选中foo(),按Ctrl+Shift+I(Windows/Linux)或 Cmd+Shift+I(Mac)查看invoke的快速定义,再从弹窗中跳转至实现。

查找所有此类调用的方法

  • 光标放在foo()调用处,按Alt+F7(Windows/Linux)或 Cmd+F7(Mac),IntelliJ会列出所有通过函数式接口语法糖调用invoke的实例(包括foo()这种写法)。
  • 若要精准查找FooImpl.invoke()的所有调用,先跳转至该方法,再按Alt+F7/Cmd+F7,或右键点击方法选择「Find Usages」,即可获取所有直接、间接调用(含语法糖形式)。

注意事项

确保IntelliJ的Kotlin插件为最新版本,避免因插件兼容问题导致语法糖识别异常。

内容的提问来源于stack exchange,提问作者igr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 03:25:35