- The ability to safely rename identifiers.
- The confidence that the "Find usages" tool gives on a large code base (search just doesn't cut it).
- Immediate, contextual syntax error information.
- Excellent auto-complete.
- Quickly navigate to declaration.
- Syntax-aware indentation.
I usually have an sbt session open that is either running unit tests or running a Play Framework server (with auto-reload).