SlideShare a Scribd company logo
Intellij IDEA
Intro, Tips and Tricks
vitojeng
vito@is-land.com.tw
2017.11.21
Intro
● IntelliJ IDEA is a Java integrated development environment (IDE) for developing
computer software. (wikipedia)
● Two editions
○ Ultimate Edition
○ Community Edition - opensourced in github
○ Comparison matrix
● We use community edition in this talk.
Languages support
Rust(WIP)
User Interface
● Default IDE Layout
○ Menu & Toolbar
○ Navigation bar
○ Status bar
○ Editor
○ Tool Windows
● Keymap
● Help
Help
● Project(What is project?)
○ Configuration format
■ Directory-based(.idea/, *.xml)
■ File-based(.ipr, *.iws)
● Module(What is a module?)
○ .iml
● Version control(if you want)
○ .xml , .ipr, .iml
○ Exclude:
■ workspace.xml
■ *.iws
Project & Module concept
Intellij
Window 1
Window 2
Project A
Project B
Module A1
Module A2
Module B1
Module B2
Choose a Suitable Keymap is Important
Mac OS X 10.5+ : If you are using IntelliJ
IDEA only on Mac OS, we recommend
choosing the schema named “Mac OS X
10.5+”.
Mac OS X : The default “Mac OS X” schema
is recommended if you use IntelliJ IDEA on
other platforms too as the bindings are more
alike to the default Windows/Linux schema.
I use Mac OS X keymap in multi-platforms.
Scala Guidelines
● https://www.jetbrains.com/help/idea/
scala.html
● Search help
New Project in Intellij IDEA(without SBT)
● Just Play Scala !
● New Project Wizard
○ File | New | Project...
■ Java - Add Scala Libraries
■ Scala - IDEA-based Scala project
New / Import Project in Intellij IDEA(with SBT)
● Many Scala project use SBT.
● New Project Wizard
○ File | New | Project...
■ SBT-based Scala project
● Import Project Wizard
○ File | New | Project from Existing Sources...
■ choose a folder(existing SBT project)
● Import project from external model (SBT/Gradle/Maven)
Working with SBT
● Tool Windows
○ Project
○ SBT
○ SBT Shell
● Attach debugger to SBT
Shell
Working with Scala Worksheet
● REPL mode in Intellij IDEA
● How about Ammonite support ?
○ Look like there will be something in 2017.3(public preview)
○ Stay tuned ! (github, youtrack)
Desugar Scala
● Code | Desugar Scala code ...
● Show Diff
Work with Git / Github
● Import Git / Github project
○ Command line
■ $ git clone
■ File | New | Project from Existing Sources...
■ Import SBT project
○ User interface
■ File | New | Project from Version Control | Github
■ SBT project detected: Import SBT project
Work with Git / Github
● Mutiple Version Control in the same Project
○ Mutiple git repo
○ Mix with different version control
Work with Git / Github
● Switch Branch
● Local Changes
● Log
● Show History
● Show Diff
● Keyboard Shortcuts You Cannot Miss
● Example
● Help | Keymap Reference
Keymap & Keyboard Shortcuts
Menu - Edit | Find / Replace
● Find... / Replace...
● Find in Path... / Replace in Path...
● Find Usages
● Search Structurally...
Menu - View
● Quick Definition
● Quick Documentation
● Recent Files
● Compare With...
Menu - Navigate
● Class...
● File...
● Symbol...
● Select In...
● File Structure
Menu - Code
● Generate...
● Surround With...
● Unwrap/Remove...
● Desugar Scala code...
Menu - Refactor
Menu - Build / Run / Tools
Look into Large Project
● Add Scope
○ Preferences | Appearance & Behavior | Scopes
● Edit | Find | Find in Path...
○ Use Scope
○ Filter
● Edit | Find | Search Structurally...
● Navigate | Type Hierarchy
● Navigate | Method Hierarchy
● Navigate | Call Hierarchy
Look into Large Project
● Menu: Analyze
○ Analyze Dependencies ...
○ Analyze Backward Dependencies ...
○
Markdown support
Performance
● Intellij IDEA's cache is sometimes not quite right enough to cause performance
issue.
○ Rebuild cache
■ File | Invalidate Caches / Restart
● Too many Scala classes may cause very slow editor response
○ Turn off some inspections of Scala
■ Preferences | Editor | Inspections | Scala Category
Join ScalaTaiwan Gitter Room!
https://gitter.im/ScalaTaiwan/ScalaTaiwan
Thank you !

More Related Content

PPTX
Attain Clean Code in Sitecore Solutions using Design Patterns
PDF
Intelli J IDEA
PPT
General introduction to intellij idea
DOCX
Intellij idea features
PDF
Intellij idea tutorial
PDF
Sbt tutorial
PDF
Gary test
PDF
Next Step, Android Studio!
Attain Clean Code in Sitecore Solutions using Design Patterns
Intelli J IDEA
General introduction to intellij idea
Intellij idea features
Intellij idea tutorial
Sbt tutorial
Gary test
Next Step, Android Studio!

Similar to Intellij IDEA Intro, Tips and Tricks (20)

PDF
Android studio
PPTX
Sbt baby steps
PDF
IntelliJ IDEA in Action In Action series 1st Edition Stephen Saunders
PDF
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
PPTX
IntelliJ IDEA - Gems you can find inside
PDF
Павел Фатин и Александр Подхалюзин «Scala plugin for IntelliJ IDEA»
PPTX
Getting started with sbt
PDF
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
PPTX
SBT Concepts, part 2
PDF
From Renamer Plugin to Polyglot IDE
PDF
Scala laboratory. Globus. iteration #1
PPTX
Scala in practice
PPTX
Shortcut keys of Android Studio , Complete about android studio
PDF
Tips and Tricks lightning talk @ rego.act
PPTX
Usability Heuristics - IntelliJ IDEA
PPTX
Writing better code: How the Netbeans IDE Helps you Write, Test and Debug Java
PDF
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
PDF
Simple Build Tool
PDF
Intelli j idea-report
Android studio
Sbt baby steps
IntelliJ IDEA in Action In Action series 1st Edition Stephen Saunders
Mastering your Eclipse IDE - Java tooling, Tips & Tricks - EclipseCon Europe ...
IntelliJ IDEA - Gems you can find inside
Павел Фатин и Александр Подхалюзин «Scala plugin for IntelliJ IDEA»
Getting started with sbt
Mastering your Eclipse IDE - Java tooling, Tips & Tricks!
SBT Concepts, part 2
From Renamer Plugin to Polyglot IDE
Scala laboratory. Globus. iteration #1
Scala in practice
Shortcut keys of Android Studio , Complete about android studio
Tips and Tricks lightning talk @ rego.act
Usability Heuristics - IntelliJ IDEA
Writing better code: How the Netbeans IDE Helps you Write, Test and Debug Java
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Simple Build Tool
Intelli j idea-report
Ad

More from vito jeng (7)

PDF
Quill - 一個 Scala 的資料庫存取利器
PDF
Scala fun part: Reflection(runtime)
PDF
Streaming process with Kafka Connect and Kafka Streams
PDF
ScalaMatsuri 2017 Note
PDF
The SparkSQL things you maybe confuse
PDF
Scala introduction
ODP
JavaScript Web Development
Quill - 一個 Scala 的資料庫存取利器
Scala fun part: Reflection(runtime)
Streaming process with Kafka Connect and Kafka Streams
ScalaMatsuri 2017 Note
The SparkSQL things you maybe confuse
Scala introduction
JavaScript Web Development
Ad

Recently uploaded (20)

PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
L1 - Introduction to python Backend.pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
medical staffing services at VALiNTRY
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
history of c programming in notes for students .pptx
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
top salesforce developer skills in 2025.pdf
L1 - Introduction to python Backend.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
Softaken Excel to vCard Converter Software.pdf
Reimagine Home Health with the Power of Agentic AI​
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
medical staffing services at VALiNTRY
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
history of c programming in notes for students .pptx
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Understanding Forklifts - TECH EHS Solution
Operating system designcfffgfgggggggvggggggggg
Odoo POS Development Services by CandidRoot Solutions
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises

Intellij IDEA Intro, Tips and Tricks

  • 1. Intellij IDEA Intro, Tips and Tricks vitojeng vito@is-land.com.tw 2017.11.21
  • 2. Intro ● IntelliJ IDEA is a Java integrated development environment (IDE) for developing computer software. (wikipedia) ● Two editions ○ Ultimate Edition ○ Community Edition - opensourced in github ○ Comparison matrix ● We use community edition in this talk.
  • 4. User Interface ● Default IDE Layout ○ Menu & Toolbar ○ Navigation bar ○ Status bar ○ Editor ○ Tool Windows ● Keymap ● Help
  • 6. ● Project(What is project?) ○ Configuration format ■ Directory-based(.idea/, *.xml) ■ File-based(.ipr, *.iws) ● Module(What is a module?) ○ .iml ● Version control(if you want) ○ .xml , .ipr, .iml ○ Exclude: ■ workspace.xml ■ *.iws Project & Module concept Intellij Window 1 Window 2 Project A Project B Module A1 Module A2 Module B1 Module B2
  • 7. Choose a Suitable Keymap is Important Mac OS X 10.5+ : If you are using IntelliJ IDEA only on Mac OS, we recommend choosing the schema named “Mac OS X 10.5+”. Mac OS X : The default “Mac OS X” schema is recommended if you use IntelliJ IDEA on other platforms too as the bindings are more alike to the default Windows/Linux schema. I use Mac OS X keymap in multi-platforms.
  • 9. New Project in Intellij IDEA(without SBT) ● Just Play Scala ! ● New Project Wizard ○ File | New | Project... ■ Java - Add Scala Libraries ■ Scala - IDEA-based Scala project
  • 10. New / Import Project in Intellij IDEA(with SBT) ● Many Scala project use SBT. ● New Project Wizard ○ File | New | Project... ■ SBT-based Scala project ● Import Project Wizard ○ File | New | Project from Existing Sources... ■ choose a folder(existing SBT project) ● Import project from external model (SBT/Gradle/Maven)
  • 11. Working with SBT ● Tool Windows ○ Project ○ SBT ○ SBT Shell ● Attach debugger to SBT Shell
  • 12. Working with Scala Worksheet ● REPL mode in Intellij IDEA ● How about Ammonite support ? ○ Look like there will be something in 2017.3(public preview) ○ Stay tuned ! (github, youtrack)
  • 13. Desugar Scala ● Code | Desugar Scala code ... ● Show Diff
  • 14. Work with Git / Github ● Import Git / Github project ○ Command line ■ $ git clone ■ File | New | Project from Existing Sources... ■ Import SBT project ○ User interface ■ File | New | Project from Version Control | Github ■ SBT project detected: Import SBT project
  • 15. Work with Git / Github ● Mutiple Version Control in the same Project ○ Mutiple git repo ○ Mix with different version control
  • 16. Work with Git / Github ● Switch Branch ● Local Changes ● Log ● Show History ● Show Diff
  • 17. ● Keyboard Shortcuts You Cannot Miss ● Example ● Help | Keymap Reference Keymap & Keyboard Shortcuts
  • 18. Menu - Edit | Find / Replace ● Find... / Replace... ● Find in Path... / Replace in Path... ● Find Usages ● Search Structurally...
  • 19. Menu - View ● Quick Definition ● Quick Documentation ● Recent Files ● Compare With...
  • 20. Menu - Navigate ● Class... ● File... ● Symbol... ● Select In... ● File Structure
  • 21. Menu - Code ● Generate... ● Surround With... ● Unwrap/Remove... ● Desugar Scala code...
  • 23. Menu - Build / Run / Tools
  • 24. Look into Large Project ● Add Scope ○ Preferences | Appearance & Behavior | Scopes ● Edit | Find | Find in Path... ○ Use Scope ○ Filter ● Edit | Find | Search Structurally... ● Navigate | Type Hierarchy ● Navigate | Method Hierarchy ● Navigate | Call Hierarchy
  • 25. Look into Large Project ● Menu: Analyze ○ Analyze Dependencies ... ○ Analyze Backward Dependencies ... ○
  • 27. Performance ● Intellij IDEA's cache is sometimes not quite right enough to cause performance issue. ○ Rebuild cache ■ File | Invalidate Caches / Restart ● Too many Scala classes may cause very slow editor response ○ Turn off some inspections of Scala ■ Preferences | Editor | Inspections | Scala Category
  • 28. Join ScalaTaiwan Gitter Room! https://gitter.im/ScalaTaiwan/ScalaTaiwan