~/talk

Extending IntelliJ-based IDEs at runtime

Talkat droidcon Berlin 2022 · 2022-07-06..07-08· [developer-experience]
slides:none on file

Runtime extension of IntelliJ-based IDEs using LivePlugin and Kotlin compiles a plugin.kts into classes loaded by a fresh classloader per evaluation, with a disposable lifecycle so unload works. Examples include registering actions and action groups via registerAction, editing editor text with executeCommand + write actions and undo, running shell tasks and HTTP requests (http4k) with addToClassPath, reordering menus by finding action IDs, and adding folding/inspections by adapting the Kotlin folding builder; reloadable state and PSI tooling remain rough.

AI-written summary · about

  1. 0:00Introduction to runtime IDE extensions
  2. 1:14What is Live Plugin
  3. 2:40Hello World demo
  4. 10:01Notifications and logging
  5. 13:10Actions and action groups
  6. 20:57Text editor modifications
  7. 27:24Real-world plugin examples
  8. 31:19Intentions and inspections
  9. 36:14Listening to IDE events
  10. 38:23Closing thoughts and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.