查找 Kotlin 主构造函数的用法 class

Find usages of primary constructor of a Kotlin class

假设您在基于 Kotlin 的项目中有一个超级重要且广泛使用的 class。它有唯一的构造函数是这样定义的:

class MyAwesomeManager(argOne: String, argTwo: String)

出于某种原因,您需要快速找到其构造函数的所有用途。您正在使用 Android Studio(或 Intellj IDEA)。

但是...在其名称上按 Ctrl + LMB 会产生大量垃圾结果 - 用于导入、伴随对象的字段调用等 class 的所有用途,但不是 构造函数 。将光标放在其名称上并点击 Alt + F7 也是如此。

那么,如何找到这个主构造函数的所有用法?

很抱歉这么快就回答了我自己的问题,但我想我已经找到了解决办法。两个简单的步骤:

  1. 双击 class 的名称到 select 它
  2. Ctrl+B 查找用法(编辑:Alt+f7 也可以)

我不确定它是否适用于所有情况,但它对我有用。

由于您的 "Find Usages" 调用(OSX 上的 Alt+F7)来自 Kotlin class 名称(这也是构造函数定义),您将获得更多如果您在 Java 构造函数上执行相同的操作,结果会比您看到的要好。如果 Find Usages 从此时起没有显示 class 的用法,否则您如何知道 class 的使用位置?

在我自己的 Kotlin classes 上执行此操作,我得到以下信息:

扩展 "New instance creation" 显示了构造函数的用法。

您应该将插入符号放在主构造函数的左括号旁边,但不要放在第一个参数之前。可能添加 space 或换行符:

class MyAwesomeManager<caret>(argOne: String, argTwo: String)
//also works
class MyAwesomeManager(<caret> argOne: String, argTwo: String)

然后调用查找用法。这应该只为您提供构造函数调用的用法。

如果因为class有一个默认的零参数构造函数而没有括号,你可以在class名称后临时添加(),然后按上述方法进行。