Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scala plugin for IntelliJ IDEA

Scala plugin for IntelliJ IDEA

Pavel Fatin

July 16, 2011
Tweet

More Decks by Pavel Fatin

Other Decks in Programming

Transcript

  1. IntelliJ Scala Plugin Agenda  Why do we need it

     What's inside  How it's made  How to contribute
  2. What makes us more productive?  Highlighting  Inspections 

    Code formatting  Auto-completion  Information look-up  Refactoring  Integration Rationale
  3. Inspections  Unused symbol  Variable could be value 

    Redundant return  Syntactic sugar  Method signature inspections Features
  4. Imports management  Import entity on completion  Auto-import unresolved

    symbol  Highlight unused imports  Optimize imports  Paste imports Features
  5. Refactoring  Rename  Introduce variable  Inline variable 

    Extract method  Introduce parameter Features
  6. Integrations  Java  JUnit / Specs / ScalaTest 

    Maven  Spring  Lift  SBT Features
  7. 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
  8. Processing example Literal Literal ReferenceExpression ReferenceExpression WhiteSpace WhiteSpace Architecture STRING

    WS IDENTIFIER TRUE "that's" + WhiteSpace WhiteSpace Literal Literal true WS InfixExpression InfixExpression
  9. PSI foundation Architecture PsiElement textRange parent children prevSibling nextSibling add(element)

    addBefore(element, anchor) addAfter(element, anchor) delete() replace(newElement)
  10. Tasks  Bug fixes  Inspections  Refactorings  Intentions

     Frameworks support  Type system improvement  [Your most wanted feature here] TODO