Nowadays IDE are much more intelligent than 10 years ago when they played mainly code editor functions. At the same time number of good practices and techniques is growing from day to day and most developers don’t have time to learn them with the same pace. So it could be a good idea to use IDE as continuous learning tool. In this talk we will cover following areas of developer efficiency: automated refactorings, live templates, useful suggestions, code standards, code navigation, code generation… I hope after this talk your daily job will become much more effective.
6. 13 years ago I wrote getters and
setters for 30 fields manually,
Carl! In my “modern” IDE.
7. “Competitive advantage of modern
developer is in learning speed
and efficiency, not in frameworks or tools!”
Mikalai Alimenkou
8. 5 key ingredients of efficiency
#1. Clean and well
configured workspace#2. Effective
navigation within
workspace
#3. Avoid waste
repeating same
actions
#4. Continuously grow
knowledge base
#5. Inspect and adapt
learning process
9.
10. #1. Clean and well configured
workspace
• Configure toolbar, navigation bar, and side panels
• Switch off tabs in editor
• Configure line numbers and gutter icons
• Use distraction free and presentation modes
• Manage context in tasks
• Configure plugins for external tools (command line, SSH, terminal, Docker,
AWS DB, SQL, REST checker, etc.)
11. #2. Effective navigation within
workspace
• Search everywhere (Shift + Shift)
• Show navigation bar as popup (Alt + Home)
• Show side panels (Alt + 1..9)
• Last viewed/edited files (Ctrl + E/Ctrl + Shift + E)
• Search class/file/dir with regexp, upper case letters and ‘:’
• Bookmarks with naming option (F11/Ctrl + F11/Shift + F11)
• Navigate through methods (Alt + Up/Down)
• Show all methods (Ctrl + F12)
• Show code in popup without navigation (Ctrl + Shift + I)
12. #3. Avoid waste repeating same
actions
• Live templates (Ctrl + J)
• All types of autocompletion within context
• Configurable copy-paste buffer (Ctrl + Shift + V)
• Suggestions in any context to improve code (Alt + Enter)
• Code auto formatting (Ctrl + Alt + L/Ctrl + Alt + I)
• Wrap code in live templates (Ctrl + Alt + T)
• Automatic refactoring options
• Additional options at the bottom of action popup (static import, change type,
invert condition, etc.)
• Write unit tests instead of debugging
• Analyze stacktrace from clipboard
13. #4. Continuously grow knowledge
base
• Check available refactoring options
• Review code convention rules
• Configure and read tip of the day
• Use effective debugging techniques (conditional breakpoints, stream
debugger, object markers, expressions, etc.)
• Explore API with auto suggestions
• Review class hierarchy to understand code better (Ctrl + H)
• Search everywhere to find available options (Shift + Shift)
• Adjust code style settings on context (Alt + Enter)
14. #5. Inspect and adapt learning process
• Key promoter plugin to learn and introduce new shortcuts
• Check productivity guide on regular basis
• Use IDE Features Trainer plugin to improve IDE usage skills
• Use Code Golf plugin to train on coding katas
• Control mouse usage to minimize it
• Subscribe to IntelliJ IDEA blog to adopt new features ASAP
• Adopt pair programming