JetBrains IDEs understand code as structure, not text. That makes renaming, extracting methods, and tracing usages exact. The advantage is largest on big projects and statically typed languages.

Picking a product

ProductPrimary language
IntelliJ IDEAJava, Kotlin, Scala
PyCharmPython
GoLandGo
WebStormJavaScript, TypeScript
DataGripSQL, databases
Rider.NET, C#

If you move between many languages, IntelliJ IDEA Ultimate plus plugins covers most of it. Install and manage versions through JetBrains Toolbox.

  brew install --cask jetbrains-toolbox
  

Core shortcuts

ActionmacOSWindows/Linux
Search everywhereShift twiceShift twice
Find action⌘⇧ACtrl+Shift+A
Go to declaration⌘BCtrl+B
Find usages⌥F7Alt+F7
Rename⇧F6Shift+F6
Refactor menu⌃TCtrl+Alt+Shift+T
Quick fix⌥⏎Alt+Enter
Recent files⌘ECtrl+E

⌥⏎ (Alt+Enter) is the all-purpose key that fixes whatever the IDE has flagged. When you see a red or yellow squiggle, press it.

Using the refactorings

RefactoringWhen
RenameThe name no longer matches what it does (all references update)
Extract MethodA function no longer fits on screen
Extract VariableA condition has grown hard to read
Change SignatureAdding or reordering parameters (call sites update)
InlineRemoving a variable or function used exactly once

Unlike find-and-replace, none of these touch the same word inside a string or comment.

The debugger

Set a breakpoint, run, and inspect state directly. The features worth knowing:

  • Conditional breakpoints: right-click the breakpoint → Condition, e.g. i == 42
  • Evaluate Expression (⌥F8): run arbitrary code while paused
  • Watch: keep an eye on an expression
  • Drop Frame: rewind out of the call you just entered and run it again

Generally faster than print debugging.

When it feels heavy

  • Help → Change Memory Settings and raise the heap to 2–4 GB.
  • Exclude build output from indexing (right-click → Mark Directory as → Excluded).
  • Disable plugins you don’t use. Plenty of bundled ones go untouched.

Next

Close out with the skills that survive any editor → Editing Skills

Last updated 19 Aug 2026, 00:00 UTC. history