⌥+⌃AltPlusCtrl

Eclipse Keyboard Shortcuts

Eclipse predates the IntelliJ Platform-based IDEs (IntelliJ IDEA, Android Studio, PyCharm) and its keymap grew up on an entirely separate branch of IDE history rather than sharing any lineage with them, which means a developer fluent in IntelliJ-family shortcuts generally cannot assume direct transfer to Eclipse and vice versa, despite both being full-featured Java-capable IDEs solving overlapping problems. Eclipse's refactoring and navigation shortcuts remain deeply capable, reflecting its long history as an enterprise Java development standard, though its specific key bindings (built around function keys and Alt+Shift combinations more heavily than some competitors) have their own distinct logic worth learning on its own terms. This page is aimed squarely at developers working in an existing Eclipse-based codebase — often a legacy enterprise Java project, an Eclipse RCP application, or a team that standardized on Eclipse years ago and never migrated — rather than someone choosing an IDE fresh today. If you're coming from IntelliJ or VS Code, expect a short adjustment period: F3 for Go to Definition instead of a modifier-click, and Ctrl+Shift+T/R for fuzzy search instead of a unified search-everywhere box are the two habits that take longest to relearn.

Navigation Search

ActionWindowsMacDescription
Open TypeCtrl+Shift+TCmd+Shift+TOpens a fuzzy-search dialog for jumping to any class or interface by typing a partial name, Eclipse's equivalent of a go-to-class shortcut found in most other IDEs.
Open Resource (file)Ctrl+Shift+RCmd+Shift+ROpens a fuzzy-search dialog scoped to any file/resource in the workspace, including non-Java files, broader in scope than Open Type's class-only search.
Open DeclarationF3F3Hops the editor to the exact spot where the highlighted method, field, or class was first declared — Eclipse's name for the feature most other IDEs simply brand as Go to Definition.
References (Find Usages)Ctrl+Shift+GCmd+Shift+GRuns a workspace-wide search for the symbol under the cursor and lists every reference to it in the Search view, the standard way to confirm a method or field is genuinely safe to remove before deleting it.
Quick Outline (current file)Ctrl+OCmd+OShows a popup outline of the current file's methods and fields, letting you quickly jump to a specific member within a large class without scrolling manually.
Navigate back / forwardAlt+Left / Alt+RightCmd+[ / Cmd+]Retraces your last few cursor jumps across open files in order, functioning much like a browser's back button — the shortcut to reach for right after an Open Declaration jump lands you somewhere you didn't mean to end up permanently.

Editing Refactoring

ActionWindowsMacDescription
Rename (Refactor)Alt+Shift+ROption+Cmd+RApplies a rename to the selected symbol across every file it's used in throughout the workspace, with Eclipse's semantic analysis correctly telling your actual target apart from any unrelated identifier that just happens to share the same name.
Format source codeCtrl+Shift+FCmd+Shift+FAutomatically reformats the current file's indentation and spacing according to the project's configured Java code style formatter settings.
Organize ImportsCtrl+Shift+OCmd+Shift+OAutomatically adds missing import statements needed by the current file's code and removes unused ones, a heavily used shortcut in daily Java development given how frequently imports need adjusting as code changes.
Extract MethodAlt+Shift+MOption+Cmd+MRuns the highlighted block through Eclipse's refactoring engine to produce a brand-new method, but stops first at a preview dialog listing exactly which call sites and import statements the change will touch — a checkpoint some other IDEs skip entirely, applying the refactor immediately and leaning on undo if something looks wrong afterward.
Quick Fix / AssistCtrl+1Cmd+1Opens a context-sensitive list of suggested fixes and refactorings for the code at the cursor, such as creating a missing method, adding a missing import, or generating a getter/setter, roughly analogous to a lightbulb/quick-action menu in other editors.

Run Debug

ActionWindowsMacDescription
RunCtrl+F11Cmd+F11Runs the current project or file using its last-used run configuration, without attaching the debugger.
DebugF11F11Launches the current project under Eclipse's Java debugger from the very first line, switching the workbench into the Debug perspective automatically so breakpoints, the variables view, and the call stack are all ready the moment execution pauses.
Toggle line breakpointCtrl+Shift+BCmd+Shift+BToggles a line breakpoint on or off wherever the cursor sits in the active editor. Eclipse surfaces every breakpoint in a dedicated Breakpoints view (Window > Show View > Breakpoints) where each one can be right-clicked to open its Properties dialog and attach a hit count, a conditional expression, or a suspend policy limiting the pause to only the current thread rather than the whole JVM — considerably more configuration surface than the plain toggle shortcut alone suggests.
Step Over (debug)F6F6Runs whatever the current line does — including any method calls it makes — but doesn't follow the debugger into those methods, landing you on the next line of your own code instead; the Debug perspective's variables view updates immediately so you can watch state change one line at a time.

Frequently Asked Questions

Why don't Eclipse shortcuts match IntelliJ IDEA's, despite both being Java IDEs?

Eclipse and the IntelliJ Platform (underlying IntelliJ IDEA, Android Studio, and others) developed as genuinely independent projects with separate shortcut design histories rather than sharing common lineage — Eclipse predates IntelliJ IDEA and established its own conventions first, and neither project has since converged on a shared standard, meaning developers working across both need to learn each on its own terms rather than expecting meaningful shortcut transfer.

What's the difference between Open Type and Open Resource?

Open Type (Ctrl+Shift+T) searches specifically for Java types — classes and interfaces — by name, while Open Resource (Ctrl+Shift+R) searches more broadly across any file in the workspace, including non-Java resources like XML configuration files, properties files, or HTML templates that Open Type's class-focused search wouldn't surface at all.

Why does Organize Imports sometimes prompt me to choose between multiple options?

If a class name used in your code exists in multiple different packages available on the project's classpath (a common occurrence with commonly-named classes like 'List' or 'Date' that exist in more than one library or package), Organize Imports can't automatically determine which specific one you intended, and will prompt you to manually select the correct package before it can add the appropriate import statement.

What's the practical difference between Run (Ctrl+F11) and Debug (F11)?

Run executes the program normally at full speed with no debugger attached and no ability to pause on breakpoints, which is what you want for a quick sanity check or normal usage. Debug attaches the debugger from the very first line, meaning any breakpoints you've set will actually pause execution — Debug carries a small performance overhead relative to Run, so it's worth reserving for sessions where you actually intend to inspect state rather than using it as the default every time.

Does Quick Fix (Ctrl+1) work the same way as Quick Assist?

In modern Eclipse they're unified under the same Ctrl+1 shortcut and the same popup, but historically Quick Fix referred specifically to resolving compiler errors and warnings (like an unresolved import), while Quick Assist covered broader refactoring-style suggestions available even when there's no error present at all, such as converting a for-loop to a stream or inlining a local variable — both now surface together in that single context menu regardless of whether an actual problem marker exists on the line.