IntelliJ IDEA Tutorial: Learn IDE from Scratch (2026)
IntelliJ IDEA is the most popular Java IDE in 2026, known for its deep code understanding, refactoring capabilities, and extensive plugin ecosystem. After using it daily for years, the difference between coding in a basic editor versus IntelliJ is measured in hours saved per week — from instant navigation to intelligent code completion that anticipates your intent.
This tutorial covers project setup, navigation, coding assistance, refactoring, debugging, testing, and productivity shortcuts that will transform your development workflow.
Project Setup and Build Tool Integration
IntelliJ IDEA opens Maven and Gradle projects natively — import the pom.xml or build.gradle and it configures the classpath automatically. Use the Project Structure dialog (Ctrl+Shift+Alt+S) for SDK configuration, module dependencies, and facets. The Maven/Gradle tool window executes lifecycle phases interactively without leaving the IDE.
// Key shortcuts for project management
// Shift+Shift Search Everywhere
// Ctrl+Shift+A Find Action
// Alt+Insert Generate (getters, constructors, etc.)
// Ctrl+Alt+Shift+S Project Structure
// Quick Maven commands from tool window
// clean package -> runs from IntelliJ without terminal
// Plugins: Checkstyle, SonarLint, MyBatisX, JRebel
Navigation and Code Search
Navigate to class (Ctrl+N), file (Ctrl+Shift+N), or symbol (Ctrl+Alt+Shift+N). Find Usages (Alt+F7) shows all references across the project. The Structure view (Alt+7) displays class members. Bookmarks (F11) mark important lines for quick access. The Recent Files popup (Ctrl+E) switches between open files without the mouse.
// Navigation shortcuts
// Ctrl+N Go to class
// Ctrl+Shift+N Go to file
// Ctrl+B Go to declaration
// Ctrl+Alt+B Go to implementation
// Alt+F7 Find usages
// Ctrl+G Go to line
// Ctrl+E Recent files popup
// Ctrl+Shift+Backspace Last edit location
// Ctrl+F12 File structure popup
Coding Assistance and Live Templates
IntelliJ provides context-aware completion (Ctrl+Space), chain completions with Tab, and postfix completion (.var, .nn, .cast). Live templates expand shortcuts into code blocks — psvm for main, sout for println, fori for indexed for loop. Create custom live templates for frequently used patterns in your project to accelerate development.
// Live templates
// psvm -> public static void main(String[] args) { }
// sout -> System.out.println();
// fori -> for (int i = 0; i < ; i++) { }
// iter -> for (Type var : collection) { }
// ifn -> if (var == null) { }
// .var -> introduces variable: someMethod().var
// .nn -> null-check: someObj.nn
// .cast -> casts expression: someObj.cast
Refactoring
IntelliJ's refactoring engine understands Java semantics deeply. Rename (Shift+F6) updates all references safely. Extract Method (Ctrl+Alt+M), Extract Variable (Ctrl+Alt+V), and Introduce Parameter (Ctrl+Alt+P) restructure code without breaking tests. Change Signature (Ctrl+F6) updates all callers. Inline (Ctrl+Alt+N) replaces references with the actual code.
// Key refactoring shortcuts
// Shift+F6 Rename
// Ctrl+Alt+M Extract method
// Ctrl+Alt+V Extract variable
// Ctrl+Alt+F Extract field
// Ctrl+Alt+P Introduce parameter
// Ctrl+F6 Change signature
// Ctrl+Alt+N Inline
// Ctrl+Alt+Shift+T Refactor this (context menu)
Debugging
Set breakpoints by clicking the gutter (Ctrl+F8). The debugger shows variable values, evaluates expressions (Alt+F8), and supports conditional breakpoints (right-click, enter condition). Use the Frames panel to navigate the call stack. Watches track specific expressions. Drop Frame rewinds execution (not available for all JVMs).
// Debug shortcuts
// Ctrl+F8 Toggle breakpoint
// Ctrl+Shift+F8 View breakpoints
// F9 Resume
// F7 Step into
// F8 Step over
// Shift+F7 Smart step into
// Alt+F8 Evaluate expression
// Alt+F9 Run to cursor
// Conditional breakpoint:
// order.getTotal().compareTo(BigDecimal.valueOf(1000)) > 0
Testing and Coverage
Navigate to test (Ctrl+Shift+T) toggles between class and test. Run tests with gutter icons or Ctrl+Shift+F10. Run with coverage (Ctrl+Shift+Alt+F6) to see line coverage highlighted in the editor. The test runner shows passed/failed tests with stack traces and diff views for assertion failures.
// Test shortcuts
// Ctrl+Shift+T Navigate to test / create test
// Ctrl+Shift+F10 Run context test
// Ctrl+Shift+F9 Debug context test
// Ctrl+Alt+F6 Run with coverage
// Ctrl+R Rerun test
// Test results window:
// Green check = passed
// Red X = failed with diff
// Yellow = skipped
Frequently Asked Questions
What is the difference between IntelliJ IDEA Community and Ultimate?
Community is free and supports Java, Kotlin, and Android. Ultimate adds Spring, Hibernate, JPA, Docker, Kubernetes, database tools, and JavaScript support. Ultimate is essential for full-stack enterprise development.
How do I optimize IntelliJ performance?
Increase heap size in Help > Edit Custom VM Options (-Xmx4g), disable unused plugins, exclude large folders from indexing (node_modules, target), and enable Power Save Mode on battery.
What is the most useful plugin you recommend?
Lombok (annotation processing), SonarLint (on-the-fly quality checks), GitToolBox (git status inline), JRebel (hot reloading), and Key Promoter X (learn shortcuts).
How do I share IDE settings across team members?
Use Settings Repository (File > Manage IDE Settings > Settings Repository) synced to a Git repo. Or export/import settings as JAR files. IntelliJ also supports .editorconfig for cross-IDE formatting.
Originally published on Ayodhyyya. Last updated June 1, 2026.