All Projects → Sch3lp → ProductivityWithShortcuts

Sch3lp / ProductivityWithShortcuts

Licence: MIT license
Code with exercises to learn shortcuts and their associated thinking patterns

Programming Languages

java
68154 projects - #9 most used programming language

ProductivityWithShortcuts

Code with exercises to learn shortcuts and their associated thinking patterns

What you'll learn

  • 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.

How you'll learn

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.

How to use this repository

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.

Good Luck, Have Fun!

If you like these exercises, share 'em with your friends and colleagues, fork or watch it.

GLHF!

Outline

Chapter 1 - Basics

  • Windowsctrl+c, ctrl+v
  • Keep your hands on your keyboard
  • How to look up any actions' shortcut Windowsctrl+shift+a, double shift
  • IntelliJ's Productivity Guide
  • Undo, Redo with Windowsctrl+z and Windowsctrl+shift+z
  • Indenting, formatting with tab, shift+tab and Windowsctrl+alt+l

Chapter 2 - Navigation

  • Word-skipping Windowsctrl+arrows
  • Begin/End of Line Windowshome, end
  • Begin/End of File Windowsctrl+home, ctrl+end
  • CamelHumps (+ how to toggle)
  • Jumping methods Windowsalt+up,down
  • Jump to error WindowsF2
  • Jump to last edit position Windowsctrl+shift+backspace
  • Jump into/Drill Down/Show Usage Windowsctrl(+alt)+b
  • History and its importance Windowsctrl+alt+left,right
  • Show in Project Windowsalt+F1
  • Jump to line Windowsctrl+g (example with paste from stacktrace)
  • Navigate to method Windowsctrl+F12 (example with paste from stacktrace and quick check equals impl)
  • Windowsalt+F7 vs. Windowsctrl+alt+h

Chapter 3 - Selection

  • Move + Select Windowsctrl+shift+arrows
  • Expand Selection Windowsctrl+w
  • Using Selection to help Navigation (e.g. Fluent API)
  • Wrapping (IntelliJ feature)

Chapter 4 - Line Editing

  • Yank Windowsctrl+y
  • Duplicate line Windowsctrl+d
  • Moving lines with and without constraints Windowsctrl+shift+up,down vs. Windowsalt+shift+up,down
  • Start new line Windowsctrl+enter
  • Join lines Windowsctrl+shift+j

Chapter 5 - Embedded Windows

  • Opening/Closing (Toggling) Windowsalt+number Windowsctrl+F4
  • Switching tabs Windowsalt+left,right
  • Why resizing is for dummies Windowsctrl+shift+F12
  • Navigation from Embedded Windows Windowsctrl+enter vs. F4

Chapter 6 - IntelliJ's Suggestions

  • IntelliJ's Auto-correct Windowsctrl+shift+enter
  • Autocomplete Windowsctrl+space vs. Windowsctrl+shift+space
  • QuickFix (💡) Windowsalt+enter
  • Creating stuff Windowsalt+ins
  • Deleting stuff Windowsalt+del
  • View JavaDoc Windowsctrl+q
  • View parameters Windowsctrl+p

Chapter 7 - Finding/Buffer

  • Find word and add to buffer Windowsctrl+F3
  • Find next occurrence from buffer WindowsF3

Chapter 8 - Multiple Cursors

  • Toggle Column Mode Windowsalt+shift+ins
  • Windowsalt+j, Windowsalt+shift+j and Windowsctrl+alt+shift+j

We'll see a lot of different cases, such as but not limited to:

  • TestBuilders
  • Testing Enum lists
  • Making a csv list from XML

Chapter 9 - Endgame

We'll make a full exercise where you'll:

  1. Create a new class that resides in a new package and has to interact with another existing class
  2. Create a new test for that class
  3. Create a new TestBuilder for the existing class
  4. Perform a red, green, refactor
  5. (Optional) commit and push

License

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].