IntelliJ IDEA
📋 Copy All Commands
📄 Generate PDF
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
Navigation
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
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
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