Writing

IntelliJ plugins

for fun and profit



@dmitrykandalov


Minimal setup

No IDE restarts

Reloadable components

=>

Fast feedback loop





=>

API exploration

Quick prototypes

Fun!





Demo





How it actually works?



Groovy

Script

Engine





Throw-away ClassLoader



AnAction



UI stuff


Threading 

Rules

Read


EDT: ok!


Other threads: runReadAction{...}

Write


EDT: runWriteAction{...} 


Other threads: N/A
(i.e. invokeOnEDT{...})






PSI

(program structure interface)



What is next?



Thanks!

Writing IntelliJ plugins for fun and profit (ACCU)

By Dmitry Kandalov