# Eclipse IDE
Tips and shortcuts for Eclipse.
## Search
| macOS | Windows/Linux | Action |
|-------|---------------|--------|
| `Ctrl+H` | `Ctrl+H` | Open Search dialog (full project search) |
| `Ctrl+Opt+Shift+L` | `Ctrl+Alt+Shift+L` | Quick Search — case-sensitive pattern match (`?` = any char, `*` = any string) |
| Select text → `Ctrl+F` | Select text → `Ctrl+F` | Find/replace scoped to the selection only |
## Tab Switching
Eclipse has several overlapping mechanisms for switching between open editors. ([source](https://stackoverflow.com/questions/2332330/eclipse-hotkey-how-to-switch-between-tabs))
| macOS | Windows/Linux | Behavior |
|-------|---------------|----------|
| `Ctrl+PageDown/Up` | `Ctrl+PageDown/Up` | Cycle tabs left/right in order (no popup). Also works in non-editor tab groups. |
| `Ctrl+F6` (hold `Ctrl`) | `Ctrl+F6` (hold `Ctrl`) | LRU editor switcher — shows a popup list of recently used editors. Release to jump. |
| `Ctrl+E` | `Ctrl+E` | Quick editor list with type-to-filter |
| `Opt+←` / `Opt+→` | `Alt+←` / `Alt+→` | Navigate by history (includes in-file jumps like go-to-definition) |
On macOS without Page Up/Down keys: `Fn+Ctrl+↑/↓`.
All shortcuts are remappable via **Window → Preferences → General → Keys** (search "Next Tab", "Next Editor", etc.).
Since Eclipse 2022+, `Ctrl+Tab` switches panes (editor ↔ sidebar ↔ bottom) instead of tabs. To restore the old behavior, rebind "Quick Switch Editor" from `Ctrl+E` to `Ctrl+Tab`.
## Selection
| macOS | Windows/Linux | Action |
|-------|---------------|--------|
| `Opt+Shift+↑` | `Alt+Shift+↑` | Select enclosing element (word → expression → statement → block → method → class) |
| `Opt+Shift+↓` | `Alt+Shift+↓` | Reverse — restore previous (narrower) selection |
| `Opt+Shift+←` | `Alt+Shift+←` | Select enclosing element moving up the file |
| `Opt+Shift+→` | `Alt+Shift+→` | Select enclosing element moving down the file |
([source](https://stackoverflow.com/questions/2049834/shortcut-key-to-select-word-in-eclipse), [source](https://blogs.eclipse.org/post/wayne-beaton/eclipse-key-binding-select-enclosing-element))
## Debugging
- **Drop to Frame** — in the Debug view, right-click a stack frame → *Drop to Frame* to rewind execution to the start of that method. Lets you re-run it (e.g. after changing a value in the Variables view) without restarting the entire debug session. ([source](https://stackoverflow.com/questions/2367816/when-using-the-java-debugger-in-intellij-what-does-drop-frame-mean))
- **Keep JUnit running after a test** — set a breakpoint at the end of your test method (or in an `@After` hook) so the runner doesn't tear down the context while you inspect state. ([source](https://stackoverflow.com/questions/25890208/eclipse-keep-junit-running-after-a-test-when-debugging))