Intellij Idea 查找Kotlin类的主构造函数的用法

des4xlb0  于 2023-08-03  发布在  Kotlin
关注(0)|答案(4)|浏览(132)

想象一下,你在基于Kotlin的项目中有一个非常重要且广泛使用的类。它有唯一的构造函数,它是这样定义的:

class MyAwesomeManager(argOne: String, argTwo: String)

字符串
出于某种原因,您需要快速找到其 * 构造函数 * 的所有用法。您正在使用Android Studio(或Intellj IDEA)。
但是...在它的名字上按Ctrl + LMB会产生大量的垃圾结果--在导入中使用,同伴对象的字段调用等。class 的所有用法,但不是 constructor。将光标放在其名称上并按Alt + F7也是如此。
那么,我如何找到这个主构造函数的所有用法?

a0x5cqrl

a0x5cqrl1#

插入符号应该放在主构造函数的左括号旁边,而不是放在第一个参数之前。可以添加空格或换行符:

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

字符串
然后调用【查找用例】。这应该只会给予构造函数调用的用法。
如果因为类有一个默认的零参数构造函数而没有圆括号,则可以临时在类名后添加(),然后如上所述进行操作。

rqmkfv5c

rqmkfv5c2#

我很抱歉这么快就回答了我自己的问题,但我想我已经找到了解决办法。在两个简单的步骤中:
1.双击类的名称以将其选中

  1. Ctrl+B查找用法(编辑:Alt+F7也可以)
    我不确定它在所有情况下都有效,但它对我有效。
dly7yett

dly7yett3#

由于“Find Usages”调用(OSX上的Alt+F7)来自Kotlin类名(也是构造函数定义),因此您将获得比在Java构造函数上执行相同操作时更多的结果-如您所见。如果FindUsages没有显示这个类的用法,那么你怎么知道这个类在哪里被使用呢?
在我自己的一个Kotlin类上这样做,我得到了以下结果:
x1c 0d1x的数据
展开“New instance creation”显示了构造函数的用法。

z31licg0

z31licg04#

。随着时间的流逝。。和IntelliJ的发展…
如果我把光标放在类名中的某个地方并调用FindUsagesAlt+F7),它会找到该类的所有用法。
但是...
如果我把光标直接放在(前面并调用FindUsagesAlt+F7),它只会找到对构造函数的调用。

相关问题