Павел Фатин и Александр Подхалюзин «Scala plugin for IntelliJ IDEA»

Post on 20-Jun-2015

891 views 6 download

Tags:

Transcript of Павел Фатин и Александр Подхалюзин «Scala plugin for IntelliJ IDEA»

Pavel FatinAlexander Podkhalyuzin

ScalaDay Spb, 2011

Scala plugin for IntelliJ IDEA

IntelliJ Scala Plugin

Agenda

Why do we need it What's inside What's next

Do we need an IDEfor Scala?

Can't we just use Notepad?

Rationale

Can't we just use Notepad?

Rationale

Is it always the right tool?

Rationale

?

What makes us more productive? Highlighting Inspections Code formatting Auto-completion Information look-up Navigation Refactoring Integration

Rationale

What's already available?

Syntax highlighting

Features

Syntax highlighting

Features

Implicit conversion

Syntax highlighting

Features

By-name argument

Implicit conversion

Syntax highlighting

Features

By-name argument

Implicit conversion

Deprecated method

Syntax highlighting

Features

Injected language

By-name argument

Implicit conversion

Deprecated method

Error highlighting Ordinary:

Type-aware:

Quick-fixes:

Features

Inspections Unused symbol Variable could be value Redundant return Syntactic sugar Method signature inspections

Features

Language injection Pattern-based:

Via parameter annotation:

Via value annotation:

Features

Dark color schemes

Features

Language-aware editor Brace balancing:

Entities selection:

Code folding:

Features

Formatting

Features

Code completion Basic Class name Expected-type based «Some» Global member Anonymous function

Features

Information look-up Type info Parameter info Documentation look-up Definition look-up

Features

Type Info

Features

Type Info

Features

Parameter info

Features

Documentation look-up

Features

Definition look-up

Features

Imports management Import entity on completion Auto-import unresolved symbol Highlight unused imports Optimize imports Paste imports

Features

Refactoring Rename Introduce variable Inline variable Extract method Introduce parameter

Features

Rename

Features

Introduce variable

Features

Inline variable

Features

Extract method

Features

Introduce parameter

Features

Java-to-Scala conversion

Features

Integrations Java JUnit / Specs / ScalaTest Maven Spring Lift SBT FSC

Features

TODO

Tasks Fix move refactoring Smart Step in debugger Evaluate Expression in debugger Scalate support Scaladoc support

Roadmap

Thank you!