Pavel Fatin
Alexander Podkhalyuzin
Scalathon, 2011
Scala plugin for IntelliJ IDEA
Slide 2
Slide 2 text
Thank you!
Slide 3
Slide 3 text
IntelliJ Scala Plugin
Agenda
Why do we need it
What's inside
How it's made
How to contribute
Slide 4
Slide 4 text
Do we need an IDE
for Scala?
Slide 5
Slide 5 text
Can't we just use Notepad?
Rationale
Slide 6
Slide 6 text
Is it always the right tool?
Rationale
?
Slide 7
Slide 7 text
What makes us more productive?
Highlighting
Inspections
Code formatting
Auto-completion
Information look-up
Refactoring
Integration
Rationale
Slide 8
Slide 8 text
What's already available?
Slide 9
Slide 9 text
Syntax highlighting
Injected language
By-name argument
Implicit conversion
Deprecated method
Features
Slide 10
Slide 10 text
Error highlighting
Ordinary:
Type-aware:
Quick-fixes:
Features
Slide 11
Slide 11 text
Inspections
Unused symbol
Variable could be value
Redundant return
Syntactic sugar
Method signature inspections
Features
Slide 12
Slide 12 text
Language injection
Pattern-based:
Via parameter annotation:
Via value annotation:
Features
Integrations
Java
JUnit / Specs / ScalaTest
Maven
Spring
Lift
SBT
Features
Slide 30
Slide 30 text
How it's made
(It's not rocket science theoretical physics)
Slide 31
Slide 31 text
Building the project
Get the latest IDEA EAP build
Download IDEA sources
Enable DevKit plugin
Configure a Plugin SDK
Clone Scala plugin repository
Open the project in IDEA
Architecture
Slide 32
Slide 32 text
Plugging the plugin
Plugin.xml
OpenAPI
Architecture