Привет!
Меня зовут Роман, я начинающий Android-разработчик. И это мой первый плагин для JetBrains Marketplace.
Сразу скажу: я не сеньор с десятью годами опыта, и у меня нет портфолио из пятнадцати проектов. Я обычный разработчик, который столкнулся с проблемой — и попытался её решить. Кажется, получилось неплохо.
🤯 Проблема, которая меня доканала
Когда я только начинал разбираться с Kotlin и Android, всё было понятно. Один Activity, пара кнопок, setOnClickListener — красота, всё перед глазами.
А потом появились ViewModel, UseCase, Repository, DataSource, Dagger/Hilt, корутины, Flow... И в какой-то момент я поймал себя на том, что просто не могу удержать в голове картину происходящего. Вот нажали на кнопку — данные пошли куда-то туда, потом завернули сюда, потом что-то заэмитили... Я постоянно терял нить.
Ctrl+Click помогает перейти к определению метода, но он не показывает путь. Он показывает дверь, но не коридор. А мне нужна была карта.
И я начал рисовать эти цепочки на бумаге. Честно. Квадратики, стрелочки. Потом в Miro. А потом подумал: «Слушай, я же программист. Почему я это делаю руками?»
Так родилась идея CodeMap.
🗺 Что делает CodeMap?
Если коротко: он строит интерактивный граф вызовов функций в вашем Kotlin-проекте.
Выбираете точку входа (например, onCreate в MainActivity) — и плагин показывает, какие функции она вызывает, те вызывают следующие, и так по цепочке вниз. Визуально это выглядит как дерево или граф, где каждая нода — функция, а стрелки — вызовы.
Фичи, которые я запилил:
🎨 Цветовое кодирование
Разные типы вызовов красятся по-разному:
UI-вызовы
Сетевые запросы
Работа с базой данных
Асинхронные операции (корутины)
Системные вызовы
Глаз сразу цепляется: «Ага, вот тут ViewModel лезет напрямую в SharedPreferences, а должен бы через Repository».
🔀 Ветвление условий
Если в коде есть if или when, плагин показывает оба пути. Можно кликнуть и пройти по нужной ветке. Удобно, когда разбираешь сложную бизнес-логику.
🏛 Аудит архитектуры
Это, наверное, самая амбициозная часть. Плагин автоматически проверяет проект на соответствие с выбранной архитектурой и показывает нарушения которые можно скачать.
⚡ Навигация в один клик
Кликаешь по ноде в графе — и сразу прыгаешь на нужную строку в коде. Никакого поиска по проекту, никакого Ctrl+Shift+F.
🔄 Поддержка K2
Плагин полностью работает с новым компилятором Kotlin K2. Никаких «ой, у меня новая версия студии, всё сломалось».
🛠 Как пользоваться
Всё просто:
Установить плагин из Marketplace
Нажать «🚀 Анализировать проект»
Выбрать файл и функцию на боковой панели
Разглядывать граф и тыкать в ноды
⚠️ Важное замечание про среду выполнения
Если окно инструмента пустое — не пугайтесь. Это значит, что ваша Android Studio запущена на JDK без поддержки JCEF (Chromium Embedded Framework). Решается за минуту:
Shift+Shift → «Choose Boot Java Runtime for the IDE»
Выбрать встроенный JetBrains Runtime (JBR) с поддержкой JCEF
Перезапустить студию
Примеры разбора проектов
🤔 Что дальше?
Плагин живёт в JetBrains Marketplace. Он бесплатный. Я продолжаю его допиливать в свободное время.
Буду очень рад обратной связи. Если что-то сломалось, если есть идеи по фичам, если просто хотите сказать «прикольно» или «фигня» — пишите в комментарии или создавайте issue на GitHub.
Для меня это первый серьёзный проект, который вышел за пределы моего ноутбука. И честно — мне немного страшно и очень интересно, что вы скажете.
Всем добра и читаемого кода! 🚀
P.S. Если плагин покажется полезным — поставьте звёздочку на GitHub и лайк в Marketplace. Для начинающего разработчика каждая звёздочка как допамин прямо в мозг 😅



Top comments (0)