build-lists: true footer: Bernd Haug – ✉️ [email protected] slidenumbers: true
[.footer: ] [.slidenumbers: false]
https://github.com/dilbernd/idea-productivity Bernd Haug – ✉️ [email protected] – 🐦 @itbeha
Cursor placement (Keyboard):
🍎 | ⌥,⌥(hold)+⬆︎/⬇ |
---|---|
🐧/🚪 | Ctrl, Ctrl (hold) + ⬆︎/⬇︎ |
Cursor placement (Mouse) | ⌥⇧(click) |
Remove all but first-placed | ⎋ |
(All Platforms)
Surround selection when typing anything quoty or parenish.
Affects whatever has surrounding-nature in the current language, e.g.
([{`'"<
- Navigation! – “Pareditish”
- Goes well with surround quotes/parens!
Action | 🍎 | 🐧/🚪 |
---|---|---|
Expand selection | ⌥⬆︎ | Ctrl + W |
Shrink selection | ⌥⬇︎ | Ctrl + Shift + W |
Action | 🍎 | 🐧/🚪 |
---|---|---|
Recent Files | ⌘E | Ctrl + E |
Recently Edited Files | ⌘⇧E | Ctrl + Shift + E |
- No Toolbar
- No Tool Buttons
- No Navbar
- Hadi Hariri says: hide the Status Bar – not for me!
🍎 | ⌘, ⌘ (hold) |
---|---|
🐧/🚪 | Alt, Alt (hold) |
Action | 🍎 | 🐧/🚪 |
---|---|---|
back to editor | ⎋ | ⎋ |
Hide current/last tool | ⇧⎋ | Shift + ⎋ |
In editor, back to last tool | [F12] | [F12] |
Hide/unhide all tools | ⌘⇧[F12] | Ctrl + Shift + [F12] |
🍎 | ⌘[number] |
---|---|
🐧/🚪 | Alt + [number] |
- Just learn the main tools’ numbers by heart!
- Criminally Underused: Bookmarks/Breakpoints (2), TODOs (6), Structure (7), Type Hierarchy (8)
- If you only use Project/Debug/VCS, you’re cheating yourself!
[.build-lists: false]
- Contextual navigation; super useful!
- Lots of further actions available directly
🍎 | ⌘⬆︎ |
---|---|
🐧/🚪 | Alt + [Home] |
Search… | 🍎 | 🐧/🚪 |
---|---|---|
Classes! | ⌘O | Ctrl + N |
Files! | ⌘⇧O | Ctrl + Shift + N |
Symbols! (methods…) | ⌘⌥O | Ctrl + Alt + Shift + N |
Actions! | ⌘⇧A | Ctrl + Shift + A |
Absolutely Everywhere!!! | ⇧, ⇧ | Shift, Shift |
Go to… | 🍎 | 🐧/🚪 |
---|---|---|
declaration (on usage) / usage(s) (on declaration) | ⌘B | Ctrl + Alt + B |
implementation(s) | ⌘⌥B | Ctrl + Alt + B |
same symbol in parent type | ⌘U | Ctrl + U |
select elements in structure | ⌘[F12] | Ctrl + [F12] |
[.build-lists: false]
- Not under_used, but under_used!
- Check the options, esp. scope!
🍎 | ⌘⇧F |
---|---|
🐧/🚪 | Ctrl + Shift + F |
[.build-lists: false]
- Can into scope too!
- Especially useful and underused: Have IDEA open new tabs for each search (default is replace last search)
- All platforms: ⌥[F7]
- Probably most used is rename (⇧[F6]): highly consistent!
- Also works for files, change lists, packages…
- Extract variable, field, method, constant… loves expand selection
- Underused: Change Signature (:apple:: ⌘[F6] // :penguin:&:door:: Ctrl + [F6])
- also very consistent! Works e.g. for DB Tables Schema
- Check out what’s available available inspections
- Can integrate some external tools!
- A lot support quick fixes; underused: “fix all … in file”
- When “fixing” a warning results in worse code, just disable the occurrence!
- Depending on situation “with comment” + append reasoning
- Really important to stay at 0 warnings: “Broken window code policing”
*
+ ⇥
*
<expr + . + abbreviation> + ⇥
NTH, but a crapshoot
- E.g. Oracle, PostgreSQL, Groovy, XML, HQL, HTML, CSS, …
- Also as Annotations – check Settings
- Checked-in documentation that triggers IDE magic!
Everybody uses ⏎ to insert the completion, but there’s also:
Complete… | Keystroke |
---|---|
…and start autocompleting again on the accepted option: | ⌃. |
…and overwrite until end of token | ⇥ |
What | 🍎 | 🐧/🚪 |
---|---|---|
progressively select word under cursor | ⌃G | Alt + J |
keyword (throws, implements…) impact | ⌘⇧[F7] | |
fold arbitrary selection | ⌘. |
- Advanced Java Folding: Get Kotlinish Syntax in Java Files
- A multi-edged hypersword
- Kotlin: OK REPL, even if you don’t use Kotlin
- you should use Kotlin
- Key Promoter X: Productivity Guide as a nag, and a scold
- Great fun!
- Regex Plugin: Nicer than the more-used regex test plugin
- advanced uses like testing group match / replace
- .ignore: Authoring and inspections for VCS ignore files
- Presentation Assistant: Shows shortcuts while using IDEA
- JVM memory view now core debugger feature – great for debugging leaks, building mental model
- Stream debugger now core debugger feature
Help > Keymap Reference
- The online help in IDEA is bredy gud generally
- Don’t skip it b/c of experience with other software!
- Following links from @hhariri (follow highly recommended!)
- Reading the startup “Tip of the Day” and the IDEA Twitter
- The built-in High Score (Dropdown: Help > Productivity Guide)
- I can be hired for dev productivity workshops and consulting
- IDEA + Java/Kotlin, Builds (CI/CD), Container Orientation, git Handling, …
- I’d love to hold this talk at your company!
- for free!
- (…and then chat about your development pain points 😏)
- for free!