SlideShare a Scribd company logo
1 of 17
Download to read offline
Noopur Gupta
Eclipse JDT co-lead
IBM | ACM FCA
@noopur2507
@EclipseJavaIDE
@infosharepl
Java tooling, Tips & Tricks!
Mastering your IDE
OVERVIEW
Appearance
Navigation
Investigation
Coding
Debugging
Java Tooling
JUnit 5 Tooling
• Window > Appearance
• Hide Toolbar, Status Bar
• Full Screen
• Show key bindings when command is invoked
• Zoom in Text Editors
• Zoom In: Ctrl +
• Zoom Out: Ctrl -
• Pinch gestures on touch-enabled devices
• Working Sets
• Preferences > Java > Appearance
• Abbreviate Package Names with Custom Rules
• Sort Library Entries Alphabetically in Package Explorer
APPEARANCE
• Quick Access / Find Actions (Ctrl + 3)
• Quick Switch Editor (Ctrl + E) – Open editors list
• ‘Delete’ – close editor
• Quick Outline (Ctrl + O, twice to show inherited members)
• In-place Outline (Ctrl + F3)
• Configure problem severity quick fix (Ctrl + 1)
• Hovers (Preferences > Java > Editor > Hovers)
• In-place Javadoc (with error/warning on element)
• Ctrl + Shift and hover, or use Javadoc view
• In-place source code
• Shift and hover, or use Declaration view
• Sticky Hover (F2) – Open attached Javadoc in a Browser
• Expand vertical ruler icons upon hovering
NAVIGATION
• Search Dialog
• Quick Search Dialog
• Go to last edit location (Ctrl + Q)
• Ctrl + Alt + Left/Right to move to multiple previous/next edit locations
• Alt + Left/Right to move backward/forward in editor navigation history
• Markers
• Bookmarks
• Right-click on left editor pane > Add Bookmark…
• Bookmarks view
• Tasks
• Right-click on left editor pane > Add Task…
• Tasks view
• Preferences > Java > Compiler > Task Tags
• Show In (Alt + Shift + W) > System Explorer
NAVIGATION
• Plug-in Spies
• Plug-in Selection Spy - Alt/Option + Shift + F1
• Plug-in Menu Spy - Alt/Option + Shift + F2
• Show Contributing Plug-in - Alt/Option + Shift + F3
• Layout Spy - Ctrl + Alt + Shift + F9
• Plug-in Image Browser
• Externalized Strings
• Ctrl + Click on key in .properties file to find referencing code
• Show Revision Information
• To determine who last modified a line of code and when
• Right-click on left editor pane > Show Revision Information
INVESTIGATION
• UI Responsiveness Monitoring
• For automatic detection and logging of stack traces when Eclipse UI
is unresponsive
• Window > Preferences > General > UI Responsiveness Monitoring
• Java Stack Trace Console
• Copy stack trace from log file and Navigate > Open from Clipboard
(Ctrl + Shift + V)
• Click on hyperlinks to jump to the code
• Click on exception name hyperlink to create an exception breakpoint
INVESTIGATION
• Content Assist - Insert or Overwrite
• Replace existing text while invoking content assist
• Press ‘Ctrl’ to toggle while content assist is active
• Content Assist Templates
• Configure/Create in Templates view, Export/Import in Preferences
• Content Assist Postfix Proposals
• Preferences > Java > Editor > Content Assist > Advanced
• Auto Activation of Content Assist
• Auto activation triggers for Java
• Disable insertion triggers except ‘Enter’
• Preferences > Java > Editor > Content Assist
• Type Filters
• Ignore certain types from content assist, imports organization, quick fixes,
open type dialog etc.
• Preferences > Java > Appearance > Type Filters
CODING
• Code Minings (as decorative text; via extension point)
• Preferences > Java > Editor > Code Minings
• Show references
• Show implementations
• Show method parameter names
or, Show method parameter hints – Ctrl + Shift + Space
• Block Selection Mode (Alt + Shift + A)
• To edit a large number of almost identical lines at the same time
• Expand selection to enclosing element (Alt + Shift + Up / Down)
• Duplicate lines (Ctrl + Alt + Up / Down)
• Move lines (Alt + Up / Down)
• Delete lines (Ctrl + D)
CODING
• Smart Step Into (Ctrl + Alt + Click)
• To step into a single method within a series of chained or nested method calls
• Step Filters
• To filter out specified classes and packages while stepping into code
• Preferences > Java > Debug > Step Filtering
• Run to Line (Ctrl + Alt + Click on left editor pane)
• Grouping and Sharing breakpoints – Breakpoints view
• Sort by name or creation time
• Group by various categories or create working sets
• Share by exporting/importing breakpoint groups
DEBUGGING
• Tracepoint
• A point in code where the debugger does not break the execution but
only prints to console
• Prevents the addition of print statements in code while debugging
• Can be used to debug race conditions or to see the order of execution of
threads
• Run > Toggle Tracepoint
• Trigger Point
• Set a breakpoint as trigger point in Breakpoint Properties
• All the breakpoints (except trigger points) are disabled until a trigger
point is hit
• All the trigger points are disabled after a trigger point is hit and all the
trigger points will be re-enabled for the next run
• Remove all trigger points – context-menu action in Breakpoints view
• Hit count - The breakpoint suspends the execution of a thread only when it
is encountered for the Nth time.
DEBUGGING
• Paste Code on Package Explorer
• A new Java project will be created and the file will be opened in Java
editor
• Right-click on Project > Configure > Enable preview features
• Project Properties > Java Compiler > Preview features with severity level
• Sealed Classes
• New > Java > Record
• Pattern matching for instanceof
• Text blocks
• Ctrl + Shift + ' to insert triple quotes
• Double-click to select text block content
JAVA TOOLING
• Switch Expressions and Enhanced Switch Statements
• Add missing case statements and default case
• Split case labels
• Ctrl + Click on ‘case’ and ‘default’ to jump to the target location
in switch
• ‘var’ support
• Declare extracted local variable’s type as ‘var’
• Replace ‘var’ with inferred type & vice-versa
• Hover to view the inferred type for ‘var’
• Ctrl + Click to navigate to the inferred type of ‘var’
JAVA TOOLING
• Java Platform Module System
• Convert to modular project - create module-info.java action
• Add libraries to module path
• Configure properties of module graph (Module Dependencies)
• Quick fix to identify and add required module to module-info.java
• Create and export a non-empty package from module-info.java
• Quick fix to provide a service implementation from module-info.java
• Lambda Expressions and Method References
• Convert anonymous class to lambda and back
• Convert lambda to method reference and back
• Add inferred lambda parameter types
• View and navigate to the functional method
• Refactoring on functional interface instances e.g. Change method signature
JAVA TOOLING
• Quick assist to create JUnit Jupiter test class and test method
• Grouped assertions and combined result comparison
• Navigate to failing source location
• Double-click on entry in JUnit view’s failure trace
• Click "Show Stack Trace in Console View" button and use the
hyperlinks
• Tagging and Filtering (@Tag)
• Configure Tags dialog in JUnit launch configuration
• Embracing JUnit 5 with Eclipse IDE – Webinar - vECM
JUnit 5 TOOLING
• List all keyboard shortcuts (Ctrl + Shift + L)
• Configure keyboard shortcuts (Ctrl + Shift + L - twice): Preferences > General > Keys
• Eclipse Help > Tips and Tricks…
• Eclipse Help > Welcome > What’s new
• New and Noteworthy: https://www.eclipse.org/eclipse/news/4.x
• Twitter
• @EclipseJavaIDE
• #EclipseTips
RESOURCES
Thank
You!
@noopur2507
@EclipseJavaIDE
@infosharepl

More Related Content

What's hot

iOS Automation: The Trifecta
iOS Automation: The TrifectaiOS Automation: The Trifecta
iOS Automation: The Trifectablackstonefinn
 
Oracle Forms- key triggers
Oracle Forms- key triggersOracle Forms- key triggers
Oracle Forms- key triggersSekhar Byna
 
Java Swing
Java SwingJava Swing
Java SwingShraddha
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8Talha Ocakçı
 
Automating JFC UI application testing with Jemmy
Automating JFC UI application testing with JemmyAutomating JFC UI application testing with Jemmy
Automating JFC UI application testing with JemmySPB SQA Group
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8LivePerson
 
Alexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java FxuiAlexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java Fxuirit2010
 

What's hot (8)

iOS Automation: The Trifecta
iOS Automation: The TrifectaiOS Automation: The Trifecta
iOS Automation: The Trifecta
 
Oracle Forms- key triggers
Oracle Forms- key triggersOracle Forms- key triggers
Oracle Forms- key triggers
 
Java Swing
Java SwingJava Swing
Java Swing
 
java swing
java swingjava swing
java swing
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8
 
Automating JFC UI application testing with Jemmy
Automating JFC UI application testing with JemmyAutomating JFC UI application testing with Jemmy
Automating JFC UI application testing with Jemmy
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8
 
Alexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java FxuiAlexandre Iline Rit 2010 Java Fxui
Alexandre Iline Rit 2010 Java Fxui
 

Similar to Mastering your Eclipse IDE - Java tooling, Tips & Tricks!

Java development with the dynamo framework
Java development with the dynamo frameworkJava development with the dynamo framework
Java development with the dynamo frameworkPatrick Deenen
 
Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10Roy Ganor
 
Programming in java basics
Programming in java  basicsProgramming in java  basics
Programming in java basicsLovelitJose
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Fwdays
 
Toad tipstricksexpertinsight
Toad tipstricksexpertinsightToad tipstricksexpertinsight
Toad tipstricksexpertinsightRaj esh
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...seleniumconf
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAmir Barylko
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyLeslie Doherty
 
Creating a Great XPages User Interface
Creating a Great XPages User InterfaceCreating a Great XPages User Interface
Creating a Great XPages User InterfaceTeamstudio
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Howard Greenberg
 
How to crack java script certification
How to crack java script certificationHow to crack java script certification
How to crack java script certificationKadharBashaJ
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesHibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesBrett Meyer
 
Best Practices for Magento Debugging
Best Practices for Magento Debugging Best Practices for Magento Debugging
Best Practices for Magento Debugging varien
 
Introduction to STATA(2).pdf
Introduction to STATA(2).pdfIntroduction to STATA(2).pdf
Introduction to STATA(2).pdfYomif3
 

Similar to Mastering your Eclipse IDE - Java tooling, Tips & Tricks! (20)

Java development with the dynamo framework
Java development with the dynamo frameworkJava development with the dynamo framework
Java development with the dynamo framework
 
Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10Zend Studio Tips and Tricks #zendcon 10
Zend Studio Tips and Tricks #zendcon 10
 
Programming in java basics
Programming in java  basicsProgramming in java  basics
Programming in java basics
 
java.pptx
java.pptxjava.pptx
java.pptx
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
 
Toad tipstricksexpertinsight
Toad tipstricksexpertinsightToad tipstricksexpertinsight
Toad tipstricksexpertinsight
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescript
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Creating a Great XPages User Interface
Creating a Great XPages User InterfaceCreating a Great XPages User Interface
Creating a Great XPages User Interface
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
 
How to crack java script certification
How to crack java script certificationHow to crack java script certification
How to crack java script certification
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesHibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance Techniques
 
Oracle Apps - Forms
Oracle Apps - FormsOracle Apps - Forms
Oracle Apps - Forms
 
Best Practices for Magento Debugging
Best Practices for Magento Debugging Best Practices for Magento Debugging
Best Practices for Magento Debugging
 
Introduction to STATA(2).pdf
Introduction to STATA(2).pdfIntroduction to STATA(2).pdf
Introduction to STATA(2).pdf
 

More from Noopur Gupta

Java 14 support in Eclipse IDE
Java 14 support in Eclipse IDEJava 14 support in Eclipse IDE
Java 14 support in Eclipse IDENoopur Gupta
 
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!Noopur Gupta
 
What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!Noopur Gupta
 
High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8Noopur Gupta
 
Java 8 tooling in Eclipse
Java 8 tooling in EclipseJava 8 tooling in Eclipse
Java 8 tooling in EclipseNoopur Gupta
 
Eclipse Luna - What's New!
Eclipse Luna - What's New!Eclipse Luna - What's New!
Eclipse Luna - What's New!Noopur Gupta
 
JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014Noopur Gupta
 
Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014Noopur Gupta
 
Eclipse and Java 8 - Eclipse Day India 2013
Eclipse and Java 8 - Eclipse Day India 2013Eclipse and Java 8 - Eclipse Day India 2013
Eclipse and Java 8 - Eclipse Day India 2013Noopur Gupta
 

More from Noopur Gupta (9)

Java 14 support in Eclipse IDE
Java 14 support in Eclipse IDEJava 14 support in Eclipse IDE
Java 14 support in Eclipse IDE
 
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
 
What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!What's cool in Eclipse goody bag!
What's cool in Eclipse goody bag!
 
High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8High productivity development with Eclipse and Java 8
High productivity development with Eclipse and Java 8
 
Java 8 tooling in Eclipse
Java 8 tooling in EclipseJava 8 tooling in Eclipse
Java 8 tooling in Eclipse
 
Eclipse Luna - What's New!
Eclipse Luna - What's New!Eclipse Luna - What's New!
Eclipse Luna - What's New!
 
JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014
 
Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014Eclipse Tips & Tricks - EclipseCon North America 2014
Eclipse Tips & Tricks - EclipseCon North America 2014
 
Eclipse and Java 8 - Eclipse Day India 2013
Eclipse and Java 8 - Eclipse Day India 2013Eclipse and Java 8 - Eclipse Day India 2013
Eclipse and Java 8 - Eclipse Day India 2013
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

Mastering your Eclipse IDE - Java tooling, Tips & Tricks!

  • 1. Noopur Gupta Eclipse JDT co-lead IBM | ACM FCA @noopur2507 @EclipseJavaIDE @infosharepl Java tooling, Tips & Tricks! Mastering your IDE
  • 3. • Window > Appearance • Hide Toolbar, Status Bar • Full Screen • Show key bindings when command is invoked • Zoom in Text Editors • Zoom In: Ctrl + • Zoom Out: Ctrl - • Pinch gestures on touch-enabled devices • Working Sets • Preferences > Java > Appearance • Abbreviate Package Names with Custom Rules • Sort Library Entries Alphabetically in Package Explorer APPEARANCE
  • 4. • Quick Access / Find Actions (Ctrl + 3) • Quick Switch Editor (Ctrl + E) – Open editors list • ‘Delete’ – close editor • Quick Outline (Ctrl + O, twice to show inherited members) • In-place Outline (Ctrl + F3) • Configure problem severity quick fix (Ctrl + 1) • Hovers (Preferences > Java > Editor > Hovers) • In-place Javadoc (with error/warning on element) • Ctrl + Shift and hover, or use Javadoc view • In-place source code • Shift and hover, or use Declaration view • Sticky Hover (F2) – Open attached Javadoc in a Browser • Expand vertical ruler icons upon hovering NAVIGATION
  • 5. • Search Dialog • Quick Search Dialog • Go to last edit location (Ctrl + Q) • Ctrl + Alt + Left/Right to move to multiple previous/next edit locations • Alt + Left/Right to move backward/forward in editor navigation history • Markers • Bookmarks • Right-click on left editor pane > Add Bookmark… • Bookmarks view • Tasks • Right-click on left editor pane > Add Task… • Tasks view • Preferences > Java > Compiler > Task Tags • Show In (Alt + Shift + W) > System Explorer NAVIGATION
  • 6. • Plug-in Spies • Plug-in Selection Spy - Alt/Option + Shift + F1 • Plug-in Menu Spy - Alt/Option + Shift + F2 • Show Contributing Plug-in - Alt/Option + Shift + F3 • Layout Spy - Ctrl + Alt + Shift + F9 • Plug-in Image Browser • Externalized Strings • Ctrl + Click on key in .properties file to find referencing code • Show Revision Information • To determine who last modified a line of code and when • Right-click on left editor pane > Show Revision Information INVESTIGATION
  • 7. • UI Responsiveness Monitoring • For automatic detection and logging of stack traces when Eclipse UI is unresponsive • Window > Preferences > General > UI Responsiveness Monitoring • Java Stack Trace Console • Copy stack trace from log file and Navigate > Open from Clipboard (Ctrl + Shift + V) • Click on hyperlinks to jump to the code • Click on exception name hyperlink to create an exception breakpoint INVESTIGATION
  • 8. • Content Assist - Insert or Overwrite • Replace existing text while invoking content assist • Press ‘Ctrl’ to toggle while content assist is active • Content Assist Templates • Configure/Create in Templates view, Export/Import in Preferences • Content Assist Postfix Proposals • Preferences > Java > Editor > Content Assist > Advanced • Auto Activation of Content Assist • Auto activation triggers for Java • Disable insertion triggers except ‘Enter’ • Preferences > Java > Editor > Content Assist • Type Filters • Ignore certain types from content assist, imports organization, quick fixes, open type dialog etc. • Preferences > Java > Appearance > Type Filters CODING
  • 9. • Code Minings (as decorative text; via extension point) • Preferences > Java > Editor > Code Minings • Show references • Show implementations • Show method parameter names or, Show method parameter hints – Ctrl + Shift + Space • Block Selection Mode (Alt + Shift + A) • To edit a large number of almost identical lines at the same time • Expand selection to enclosing element (Alt + Shift + Up / Down) • Duplicate lines (Ctrl + Alt + Up / Down) • Move lines (Alt + Up / Down) • Delete lines (Ctrl + D) CODING
  • 10. • Smart Step Into (Ctrl + Alt + Click) • To step into a single method within a series of chained or nested method calls • Step Filters • To filter out specified classes and packages while stepping into code • Preferences > Java > Debug > Step Filtering • Run to Line (Ctrl + Alt + Click on left editor pane) • Grouping and Sharing breakpoints – Breakpoints view • Sort by name or creation time • Group by various categories or create working sets • Share by exporting/importing breakpoint groups DEBUGGING
  • 11. • Tracepoint • A point in code where the debugger does not break the execution but only prints to console • Prevents the addition of print statements in code while debugging • Can be used to debug race conditions or to see the order of execution of threads • Run > Toggle Tracepoint • Trigger Point • Set a breakpoint as trigger point in Breakpoint Properties • All the breakpoints (except trigger points) are disabled until a trigger point is hit • All the trigger points are disabled after a trigger point is hit and all the trigger points will be re-enabled for the next run • Remove all trigger points – context-menu action in Breakpoints view • Hit count - The breakpoint suspends the execution of a thread only when it is encountered for the Nth time. DEBUGGING
  • 12. • Paste Code on Package Explorer • A new Java project will be created and the file will be opened in Java editor • Right-click on Project > Configure > Enable preview features • Project Properties > Java Compiler > Preview features with severity level • Sealed Classes • New > Java > Record • Pattern matching for instanceof • Text blocks • Ctrl + Shift + ' to insert triple quotes • Double-click to select text block content JAVA TOOLING
  • 13. • Switch Expressions and Enhanced Switch Statements • Add missing case statements and default case • Split case labels • Ctrl + Click on ‘case’ and ‘default’ to jump to the target location in switch • ‘var’ support • Declare extracted local variable’s type as ‘var’ • Replace ‘var’ with inferred type & vice-versa • Hover to view the inferred type for ‘var’ • Ctrl + Click to navigate to the inferred type of ‘var’ JAVA TOOLING
  • 14. • Java Platform Module System • Convert to modular project - create module-info.java action • Add libraries to module path • Configure properties of module graph (Module Dependencies) • Quick fix to identify and add required module to module-info.java • Create and export a non-empty package from module-info.java • Quick fix to provide a service implementation from module-info.java • Lambda Expressions and Method References • Convert anonymous class to lambda and back • Convert lambda to method reference and back • Add inferred lambda parameter types • View and navigate to the functional method • Refactoring on functional interface instances e.g. Change method signature JAVA TOOLING
  • 15. • Quick assist to create JUnit Jupiter test class and test method • Grouped assertions and combined result comparison • Navigate to failing source location • Double-click on entry in JUnit view’s failure trace • Click "Show Stack Trace in Console View" button and use the hyperlinks • Tagging and Filtering (@Tag) • Configure Tags dialog in JUnit launch configuration • Embracing JUnit 5 with Eclipse IDE – Webinar - vECM JUnit 5 TOOLING
  • 16. • List all keyboard shortcuts (Ctrl + Shift + L) • Configure keyboard shortcuts (Ctrl + Shift + L - twice): Preferences > General > Keys • Eclipse Help > Tips and Tricks… • Eclipse Help > Welcome > What’s new • New and Noteworthy: https://www.eclipse.org/eclipse/news/4.x • Twitter • @EclipseJavaIDE • #EclipseTips RESOURCES