Encuentra los usos del constructor primario de una class Kotlin

Imagine que tiene una class súper importante y ampliamente utilizada en su proyecto basado en Kotlin. Tiene el único constructor que se define así:

class MyAwesomeManager(argOne: String, argTwo: String) 

Por alguna razón, necesita encontrar rápidamente todos los usos de su constructor . Está utilizando Android Studio (o Intellj IDEA).

Pero … al presionar Ctrl + LMB en su nombre se obtiene una tonelada de resultados basura: se usa en importaciones, llamadas a campos de objects complementarios, etc. Todos los usos de una class , pero no el constructor . Lo mismo para poner un cursor sobre su nombre y presionar Alt + F7 .

Entonces, ¿cómo puedo encontrar todos y solo los usos de este constructor primario?

Lamento haber respondido tan rápido mi propia pregunta, pero creo que encontré una solución. En dos pasos simples:

  1. Haga doble clic en el nombre de una class para seleccionarlo
  2. Ctrl + B para encontrar usos (editar: Alt + f7 también funcionaría)

No estoy seguro de que funcione en todos los casos, pero funcionó para mí.

Debes colocar el cursor al lado del corsé de apertura del constructor principal, pero no justo antes del primer parámetro. Posiblemente agregue un espacio o salto de línea:

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

luego invoque Buscar usos . Esto debería darle solo los usos de la invocación del constructor.

Dado que su llamada "Find Usages" ( Alt+F7 en OSX) es del nombre de la class Kotlin (que también es la definición del constructor), obtendrá más resultados de los que tendría si hubiera hecho lo mismo en un constructor de Java – como viste Si Find Usages no muestra los usos de la class a partir de este punto, ¿de qué otro modo sabría dónde se usa la class?

Al hacer esto en una de mis propias classs de Kotlin, obtuve lo siguiente:

enter image description here

La expansión de "Nueva creación de instancias" me muestra el uso del constructor.