想象一下,您的基于 Kotlin 的项目中有一个非常重要且广泛使用的类。它有唯一的构造函数,其定义如下:
class MyAwesomeManager(argOne: String, argTwo: String)
出于某种原因,您需要快速找到其构造函数的所有用途。您正在使用 Android Studio(或 Intelllj IDEA)。
但是...在其名称上按 Ctrl + LMB 会产生大量垃圾结果 - 用于导入、伴生对象的字段调用等。class 的所有用途,但不是 constructor。将光标放在其名称上并按 Alt + F7 也是如此。
那么,我如何找到这个主构造函数的所有且仅的用法?
您应该将插入符号放在主构造函数的左括号旁边,但不要放在第一个参数之前。可能添加空格或换行符:
class MyAwesomeManager<caret>(argOne: String, argTwo: String)
//also works
class MyAwesomeManager(<caret> argOne: String, argTwo: String)
然后调用查找用法。这应该只为您提供构造函数调用的用法。
如果因为类有默认的零参构造函数而没有括号,可以暂时在类名后添加
()
,然后按照上面的方法进行。
很抱歉这么快回答我自己的问题,但我想我已经找到了解决方案。只需简单两步:
我不确定它在所有情况下都有效,但它对我有用。
...随着时间的推移...IntelliJ 不断发展...
如果我将光标放在类名称中的某个位置并调用FindUsages(
Alt+F7
),它会找到该类的所有用法。
但是...
如果我将光标直接放在
(
前面并调用 Find Usages (Alt+F7
),它只会查找对构造函数的调用。
如果您将单词“constructor”放在主构造函数的“(”之前,那么您可以针对该单词进行用法搜索。这解释了该位置的重要性 - 如果没有该单词,您必须单击单词所在的位置。