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

Scala plugin for IntelliJ IDEA

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Scala plugin for IntelliJ IDEA

Avatar for Pavel Fatin

Pavel Fatin

July 16, 2011

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