Speaker

Roman Kamyshnikov

Roman Kamyshnikov

Senior Android Engineer at Marshmallow

London, United Kingdom

Actions

A seasoned Senior Android Engineer. Beyond his hands-on work, Roman is also an active mentor and speaker at Android Academy Global, as well as a published author on ProAndroidDev and Droidcon.

Area of Expertise

  • Information & Communications Technology
  • Transports & Logistics

Topics

  • Android
  • Android Development
  • Kotlin
  • IntelliJ

Building an IDE plugin for clean code generation

Learn how to create an Android Studio plugin that generates the boilerplate code that comes with clean architecture. Start from plugin development basics and learning about the tools, APIs and techniques required to generate hundreds of lines of code in seconds.

* Key takeaways and learning points
In the talk I aim to share the experience and learnings from the creation of a code generation IDE plugin. Starting from the basics, such as the tools and setup required to create a plugin, I will gradually go through the essential parts that someone wanting to create their own plugin would have to learn about:
- Plugin configuration: gradle and xml files, build and runtime dependencies, IDE targets
- Adding and handling IDE actions
- Using the IDE's internal mode UI inspector to find examples and solutions to problems
- Understanding and exploring the PSI (Program Structure Interface): Using indexes to find classes, traversing the PSI to extract information both directly and via the Kotlin Analysis API
- Creating new files and modifying existing ones
- Some of the conflict resolution strategies that I found useful: how to avoid generating already existing code and having a graceful fallback plan when the generation cannot be automated and user intervention would be needed
- Misc. problems I encountered, smaller tips, tricks and things I wish I knew before starting to build a plugin

droidcon London 2025 Sessionize Event

October 2025 London, United Kingdom

Roman Kamyshnikov

Senior Android Engineer at Marshmallow

London, United Kingdom

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top