Code with exercises to learn shortcuts and their associated thinking patterns
- Increase your productivity by using shortcuts. We'll use IntelliJ on windows as an example.
- Think along with your pair, who's already proficient in using shortcuts.
- In what situations/patterns shortcuts are helpful.
- Some patterns for multi-cursor usage.
By doing! The only way to get shortcuts in your fingers is by using them. All. The. Time.
This repo provides a structured aproach to learn with exercises that will help you move forward.
git clone
this repository
The titles in the outline below are links to the different chapters.
Each chapter contains a thorough explanation and exercises.
Eventhough the progression in these chapters might seem to be naturally increasing in difficulty, you don't need to think of them as thresholds. The only reason there are chapters is to help your brain make paths even better by trying to categorize certain types of shortcuts so you'll think of them sooner in real life.
If you like these exercises, share 'em with your friends and colleagues, fork
or watch
it.
GLHF!
ctrl+c
,ctrl+v
- Keep your hands on your keyboard
- How to look up any actions' shortcut
ctrl+shift+a
,double shift
- IntelliJ's Productivity Guide
- Undo, Redo with
ctrl+z
andctrl+shift+z
- Indenting, formatting with
tab
,shift+tab
andctrl+alt+l
- Word-skipping
ctrl+arrows
- Begin/End of Line
home
,end
- Begin/End of File
ctrl+home
,ctrl+end
- CamelHumps (+ how to toggle)
- Jumping methods
alt+up,down
- Jump to error
F2
- Jump to last edit position
ctrl+shift+backspace
- Jump into/Drill Down/Show Usage
ctrl(+alt)+b
- History and its importance
ctrl+alt+left,right
- Show in Project
alt+F1
- Jump to line
ctrl+g
(example with paste from stacktrace) - Navigate to method
ctrl+F12
(example with paste from stacktrace and quick check equals impl) alt+F7
vs.ctrl+alt+h
- Move + Select
ctrl+shift+arrows
- Expand Selection
ctrl+w
- Using Selection to help Navigation (e.g. Fluent API)
- Wrapping (IntelliJ feature)
- Yank
ctrl+y
- Duplicate line
ctrl+d
- Moving lines with and without constraints
ctrl+shift+up,down
vs.alt+shift+up,down
- Start new line
ctrl+enter
- Join lines
ctrl+shift+j
- Opening/Closing (Toggling)
alt+number
ctrl+F4
- Switching tabs
alt+left,right
- Why resizing is for dummies
ctrl+shift+F12
- Navigation from Embedded Windows
ctrl+enter
vs.F4
- IntelliJ's Auto-correct
ctrl+shift+enter
- Autocomplete
ctrl+space
vs.ctrl+shift+space
- QuickFix (:bulb:)
alt+enter
- Creating stuff
alt+ins
- Deleting stuff
alt+del
- View JavaDoc
ctrl+q
- View parameters
ctrl+p
We'll see a lot of different cases, such as but not limited to:
- TestBuilders
- Testing Enum lists
- Making a csv list from XML
We'll make a full exercise where you'll:
- Create a new class that resides in a new package and has to interact with another existing class
- Create a new test for that class
- Create a new TestBuilder for the existing class
- Perform a red, green, refactor
- (Optional) commit and push
The example code is published under the MIT License.
The mac and windows logo icons used are under the Creative Common License (Attr. 3 Unported), and are completely attributed to the artist Bogdan Rosu.