Найти использование основного конструктора класса Котлин

Представьте, что у вас есть очень важный и широко используемый класс в вашем проекте на основе Котлина. Он имеет единственный конструктор, который определяется следующим образом:

class MyAwesomeManager(argOne: String, argTwo: String) 

По какой-то причине вам нужно быстро найти все виды использования своего конструктора . Вы используете Android Studio (или Intellj IDEA).

Но … нажатие Ctrl + LMB на его имя дает тонну результатов мусора – использует в импорте, вызовы полей сопутствующих объектов и т. Д. Все применения класса , но не конструктора . То же самое для установки курсора на его имя и нажатия Alt + F7 .

Итак, как мне найти все и только использование этого основного конструктора?

Мне очень жаль, что я быстро ответил на свой вопрос, но, думаю, я нашел решение. В два простых шага:

  1. Дважды щелкните имя класса, чтобы выбрать его.
  2. Ctrl + B, чтобы найти обычаи (отредактируйте: Alt + f7 также будет работать)

Я не уверен, что это работает во всех случаях, но это сработало для меня.

Вы должны поместить каретку рядом с открывающей скобкой основного конструктора, но не сразу перед первым параметром. Возможно добавление пробела или строки:

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

затем вызовите « Поиск использования» . Это должно дать вам только использование вызова конструктора.

Поскольку ваш вызов «Поиск использования» ( Alt+F7 на OSX) относится к имени класса Kotlin (которое также является определением конструктора), вы получите больше результатов, чем если бы вы сделали то же самое в конструкторе Java – как вы видели. Если Find Usages не показывал использование класса с этого момента, как еще вы знаете, где используется класс?

Делая это на одном из моих собственных классов Котлин, я получил следующее:

введите описание изображения здесь

Расширение «Создание нового экземпляра» показывает мне использование конструктора.