Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
(@ganachoco)
Slide 2
Slide 2 text
Slide 3
Slide 3 text
I've got a dream Source: disney.com
Slide 4
Slide 4 text
.
Slide 5
Slide 5 text
...
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
idegen.sh
Slide 9
Slide 9 text
Build
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
API References Documentation
Slide 12
Slide 12 text
IntelliJ IDEA Community Edition Android Studio
Slide 13
Slide 13 text
API
Slide 14
Slide 14 text
API
Slide 15
Slide 15 text
Plugin Development Setup
Slide 16
Slide 16 text
build.gradle
Slide 17
Slide 17 text
build.gradle
Slide 18
Slide 18 text
build.gradle
Slide 19
Slide 19 text
plugin.xml
Slide 20
Slide 20 text
Entry Point ● Action ○ Menu ○ Toolbar ● Component ○ Application ○ Project ○ Module
Slide 21
Slide 21 text
plugin.xml (Actions)
Slide 22
Slide 22 text
Action
Slide 23
Slide 23 text
plugin.xml (Components)
Slide 24
Slide 24 text
Component Level ApplicationComponent ProjectComponent ModuleComponent
Slide 25
Slide 25 text
Application Component IDE Launched IDE Exited initComponent() disposeComponent()
Slide 26
Slide 26 text
Project Component IDE Launched IDE Exited projectOpened() projectClosed()
Slide 27
Slide 27 text
Module Component IDE Launched IDE Exited moduleAdded() Open Project Close Project
Slide 28
Slide 28 text
Messaging Infrastructure
Slide 29
Slide 29 text
Topic ● ProjectTopics ○ PROJECT_ROOTS ■ ModuleRootListener ○ MODULES ■ ModuleListener ● VirtualFileManager ○ VFS_CHANGES ■ BulkFileListener ● Ӓ৻... ○ public static final Topic ਵ۽ Ѩ࢝
Slide 30
Slide 30 text
Example: ModuleListener
Slide 31
Slide 31 text
Example: ModuleListener
Slide 32
Slide 32 text
plugin.xml (Services)
Slide 33
Slide 33 text
ServiceManager ServiceManager applicationService projectService ModuleServiceManager moduleService
Slide 34
Slide 34 text
Service
Slide 35
Slide 35 text
User Interface Based Swing Component Popup Notification ToolWindow GUI Builder
Slide 36
Slide 36 text
GUI Builder
Slide 37
Slide 37 text
GUI Builder
Slide 38
Slide 38 text
ToolWindow
Slide 39
Slide 39 text
ToolWindow
Slide 40
Slide 40 text
And many others...
Slide 41
Slide 41 text
publish
Slide 42
Slide 42 text
publish
Slide 43
Slide 43 text
new upload
Slide 44
Slide 44 text
plugin update
Slide 45
Slide 45 text
Conclusion ● Use the Source! ○ Platform Sources ○ Other plugins sources