コンテンツにスキップ

IntelliJ IDEA

Comprehensive IntelliJ IDEA shortcuts and workflows for Java, Kotlin, and multi-language development.

General Shortcuts

Windows/Linux macOS Description
Ctrl+Shift+A Cmd+Shift+A Find Action
Double Shift Double Shift Search Everywhere
Ctrl+N Cmd+O Go to Class
Ctrl+Shift+N Cmd+Shift+O Go to File
Ctrl+Alt+Shift+N Cmd+Option+O Go to Symbol
Ctrl+E Cmd+E Recent Files
Ctrl+Shift+E Cmd+Shift+E Recent Locations
Alt+F1 Option+F1 Select In
Ctrl+G Cmd+L Go to Line
Ctrl+Tab Ctrl+Tab Switcher
Windows/Linux macOS Description
Ctrl+B Cmd+B Go to Declaration
Ctrl+Alt+B Cmd+Option+B Go to Implementation
Ctrl+Shift+B Cmd+Shift+B Go to Type Declaration
Ctrl+U Cmd+U Go to Super Method
Alt+F7 Option+F7 Find Usages
Ctrl+F7 Cmd+F7 Find Usages in File
Ctrl+Shift+F7 Cmd+Shift+F7 Highlight Usages
Ctrl+Alt+F7 Cmd+Option+F7 Show Usages
Ctrl+H Cmd+H Type Hierarchy
Ctrl+Shift+H Cmd+Shift+H Method Hierarchy
Ctrl+Alt+H Ctrl+Option+H Call Hierarchy

Editing

Windows/Linux macOS Description
Ctrl+Space Ctrl+Space Basic Code Completion
Ctrl+Shift+Space Ctrl+Shift+Space Smart Code Completion
Ctrl+Alt+Space Ctrl+Option+Space Class Name Completion
Ctrl+Shift+Enter Cmd+Shift+Enter Complete Current Statement
Ctrl+P Cmd+P Parameter Info
Ctrl+Q Ctrl+J Quick Documentation
Shift+F1 Shift+F1 External Documentation
Ctrl+F1 Cmd+F1 Show Error Description
Alt+Insert Cmd+N Generate
Ctrl+O Ctrl+O Override Methods
Ctrl+I Ctrl+I Implement Methods

Code Formatting

Windows/Linux macOS Description
Ctrl+Alt+L Cmd+Option+L Reformat Code
Ctrl+Alt+O Ctrl+Option+O Optimize Imports
Ctrl+Alt+I Ctrl+Option+I Auto-Indent Lines
Tab Tab Indent Selection
Shift+Tab Shift+Tab Unindent Selection
Ctrl+X Cmd+X Cut Current Line
Ctrl+C Cmd+C Copy Current Line
Ctrl+D Cmd+D Duplicate Line
Ctrl+Y Cmd+Backspace Delete Line
Ctrl+Shift+J Ctrl+Shift+J Join Lines

Refactoring

Windows/Linux macOS Description
F6 F6 Move
Shift+F6 Shift+F6 Rename
Ctrl+F6 Cmd+F6 Change Signature
Ctrl+Alt+N Cmd+Option+N Inline
Ctrl+Alt+M Cmd+Option+M Extract Method
Ctrl+Alt+V Cmd+Option+V Extract Variable
Ctrl+Alt+F Cmd+Option+F Extract Field
Ctrl+Alt+C Cmd+Option+C Extract Constant
Ctrl+Alt+P Cmd+Option+P Extract Parameter
Ctrl+Shift+F6 Cmd+Shift+F6 Type Migration

Search and Replace

Windows/Linux macOS Description
Ctrl+F Cmd+F Find
F3 Cmd+G Find Next
Shift+F3 Cmd+Shift+G Find Previous
Ctrl+R Cmd+R Replace
Ctrl+Shift+F Cmd+Shift+F Find in Path
Ctrl+Shift+R Cmd+Shift+R Replace in Path
Ctrl+F3 Cmd+F3 Find Word at Caret
F4 F4 Find Next Occurrence
Shift+F4 Shift+F4 Find Previous Occurrence

Running and Debugging

Windows/Linux macOS Description
Shift+F10 Ctrl+R Run
Shift+F9 Ctrl+D Debug
Ctrl+Shift+F10 Ctrl+Shift+R Run Context Configuration
Ctrl+Shift+F9 Ctrl+Shift+D Debug Context Configuration
F8 F8 Step Over
F7 F7 Step Into
Shift+F7 Shift+F7 Smart Step Into
Shift+F8 Shift+F8 Step Out
Alt+F9 Option+F9 Run to Cursor
Alt+F8 Option+F8 Evaluate Expression
F9 Cmd+Option+R Resume Program
Ctrl+F8 Cmd+F8 Toggle Breakpoint

Version Control

Windows/Linux macOS Description
Ctrl+K Cmd+K Commit
Ctrl+Shift+K Cmd+Shift+K Push
Ctrl+T Cmd+T Update Project
Alt+Shift+C Option+Shift+C View Recent Changes
Alt+9 Cmd+9 Version Control Tool Window
Ctrl+Alt+Z Cmd+Option+Z Rollback
Ctrl+Alt+A Cmd+Option+A Add to VCS

Live Templates

Common Java Templates

Template Expansion
psvm public static void main(String[] args)
sout System.out.println()
souf System.out.printf()
soutm System.out.println("methodName")
soutp System.out.println("parameterName = " + parameterName)
soutv System.out.println("variableName = " + variableName)
fori for (int i = 0; i < ; i++)
iter for (Type item : collection)
itar for (int i = 0; i < array.length; i++)
ritar for (int i = array.length - 1; i >= 0; i--)

Common Kotlin Templates

Template Expansion
fun fun functionName() \\{\\}
main fun main(args: Array<String>) \\{\\}
println println()
fori for (i in 0 until )
fore for (item in collection)
ifn if (value != null)
inn if (value == null)

Productivity Features

Code Generation

// Generate constructor
Alt+Insert → Constructor

// Generate getters/setters
Alt+Insert → Getter and Setter

// Generate toString()
Alt+Insert → toString()

// Generate equals() and hashCode()
Alt+Insert → equals() and hashCode()

// Generate test methods
Alt+Insert → Test

Postfix Completion

// Examples of postfix completion
list.for → for (String item : list)
condition.if → if (condition)
obj.null → if (obj == null)
obj.nn → if (obj != null)
obj.var → Type obj =
obj.return → return obj;

Intentions and Quick Fixes

// Common intentions (Alt+Enter)
- Convert to lambda
- Add type annotation
- Create method from usage
- Implement interface
- Add import statement
- Surround with try-catch

Project Management

File and Project Operations

Windows/Linux macOS Description
Ctrl+Alt+Shift+S Cmd+; Project Structure
Ctrl+Alt+S Cmd+, Settings
Ctrl+Shift+A Cmd+Shift+A Find Action
Ctrl+Shift+F12 Cmd+Shift+F12 Toggle Maximized Editor
Alt+1 Cmd+1 Project Tool Window
Alt+7 Cmd+7 Structure Tool Window
Alt+9 Cmd+9 Version Control Tool Window
Alt+F12 Option+F12 Terminal

Build and Run

# Maven projects
mvn clean compile
mvn test
mvn package
mvn install

# Gradle projects
./gradlew build
./gradlew test
./gradlew run
./gradlew clean

# SBT projects (Scala)
sbt compile
sbt test
sbt run

Best Practices

Code Quality

  • Use code inspections and analysis tools
  • Follow coding standards and conventions
  • Write comprehensive unit tests
  • Use meaningful variable and method names
  • Keep methods small and focused

Performance Optimization

  • Use appropriate data structures
  • Avoid premature optimization
  • Profile code to identify bottlenecks
  • Use lazy initialization when appropriate
  • Minimize object creation in loops

Debugging Strategies

  • Use conditional breakpoints
  • Evaluate expressions during debugging
  • Use logging for production debugging
  • Step through code systematically
  • Examine variable states and call stacks

Plugin Recommendations

  • SonarLint: Code quality analysis
  • CheckStyle: Code style checking
  • FindBugs: Bug pattern detection
  • Lombok: Reduce boilerplate code
  • Database Tools: Database integration
  • Docker: Container support
  • Kubernetes: Orchestration support