Top Banner
Eclipse workshop Mar. 2016
44

Eclipse workshop presentation (March 2016)

Apr 13, 2017

Download

Technology

Miguel Pardal
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Eclipse workshop presentation (March 2016)

Eclipse workshopMar. 2016

Page 2: Eclipse workshop presentation (March 2016)

• Miguel Pardal– LEIC 2000– Assistant Professor at Técnico Lisboa– http://web.tecnico.ulisboa.pt/miguel.pardal

– Eclipse user since 2005– Conditional fan

Page 3: Eclipse workshop presentation (March 2016)

Outline• Introduction

– Concepts– Techniques

• Hands-on

Page 4: Eclipse workshop presentation (March 2016)

History• Eclipse started out as proprietary technology

– Object Technology International (OTI)– IBM’s goals:

• Reduce incompatible environments• Increase reuse of common components

• Evolved from IBM VisualAge for Smalltalk™ and for Java™– Monolithic

http://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F

Page 5: Eclipse workshop presentation (March 2016)

History• The Eclipse open source project was announced in November 2001

by a group of companies that formed the initial Eclipse Consortium– Eclipse Foundation since 2004

• Commercial-friendly open source license– Wider audience and ecosystem

• Eclipse was designed from the ground up as an integration platform for development tools– Everything in Eclipse is a plug-in– Uses SWT to bind to local platform GUI– OSGi component model since 3.0– Annual Simultaneous Release (…, Luna, Mars, Neon, …)

Page 6: Eclipse workshop presentation (March 2016)

Install• Simple:

– Download– Unzip– Run

• All configurations are file-based– Workspace folder

• Settings• Projects

– Project metadata files• .project• .classpath

Page 7: Eclipse workshop presentation (March 2016)

CONCEPTS

Page 8: Eclipse workshop presentation (March 2016)

Workbench• Eclipse’s main window

– Menus and toolbars– Views, editors, perspectives

Page 9: Eclipse workshop presentation (March 2016)

View• A view is a window that lets you examine

something– Navigate a list or hierarchy of information– Display properties for the active editor

• Modifications made in a view are saved immediately

Page 10: Eclipse workshop presentation (March 2016)

Editor• Editors are used to edit or browse a

resource– Rectangular area in the Workbench window – Visual presentation might be text or a diagram.– Editors are launched by clicking on a resource

in a view– Modifications made in an editor follow an open-

save-close lifecycle model• * indicates unsaved data

Page 11: Eclipse workshop presentation (March 2016)
Page 12: Eclipse workshop presentation (March 2016)

Perspective• A perspective is a set of views, editors, and toolbars,

along with their arrangement within the Workbench window.

• As you perform a task, you may rearrange windows, new views, and so on.– Saved under the current perspective.– Next time, switch to perspective– Within a window, each perspective may have a

different set of views but all perspectives share the same set of editors.

• Built-in Java or Debug perspectives

Page 13: Eclipse workshop presentation (March 2016)
Page 14: Eclipse workshop presentation (March 2016)
Page 15: Eclipse workshop presentation (March 2016)

Java Project

Page 16: Eclipse workshop presentation (March 2016)

Project properties

Page 17: Eclipse workshop presentation (March 2016)

Project properties

Page 18: Eclipse workshop presentation (March 2016)

Auto-complete• From the current context – project, class,

method, line, … what could complete it?– CTRL+space

Page 19: Eclipse workshop presentation (March 2016)

Auto-build• Compilation is automatic in Eclipse

• Blessing– string s = “Eclipse”;

• Curse– String s = “Ecli

Page 20: Eclipse workshop presentation (March 2016)

FACTORING TECHNIQUES

Page 21: Eclipse workshop presentation (March 2016)

Factoring• Create the application domain• Create class

– Members– Methods

• Generate methods– Getters Setters– toString

Page 22: Eclipse workshop presentation (March 2016)

Create

Page 23: Eclipse workshop presentation (March 2016)

Create class

Page 24: Eclipse workshop presentation (March 2016)

Source menu

Page 25: Eclipse workshop presentation (March 2016)

Quick fix errors

Page 26: Eclipse workshop presentation (March 2016)

Quick fix warnings

Page 27: Eclipse workshop presentation (March 2016)

Implicit class creation– Write code as if the class already exists

• Write code referring to non-existing classes– Use quick-fix to generate class

Page 28: Eclipse workshop presentation (March 2016)

But beware…• Quick-fix can become “quick-bug”• Example

– Try-catch and ignore• Worst solution

– Try-catch, print and continue• As if nothing has happened… but it did!

– Think it through:• Handle exception (try-catch)• Or let someone else do it (throws)

Page 29: Eclipse workshop presentation (March 2016)

Testing• JUnit Class• JUnit View

Page 30: Eclipse workshop presentation (March 2016)

REFACTORING TECHNIQUES

Page 31: Eclipse workshop presentation (March 2016)

Refactoring• Refactoring is a process of software source code

transformation– Should be performed when the code is working and all

of its tests are passing– Does not involve rewriting or replacing large chunks of

code.– Gradual, evolutionary process, intended to “preserve

the knowledge embedded in the existing code.”• Examples

– Rename– Extract method

Page 32: Eclipse workshop presentation (March 2016)

Refactor menu

Page 33: Eclipse workshop presentation (March 2016)

Conclusions• Very useful tool• Can increase productivity

– Code formatting– Especially in refactoring

• But…– Does NOT replace critical thought and design– Can increase the production of all code

• Bugs included!

Page 34: Eclipse workshop presentation (March 2016)

Shortcuts

Top 10

Page 35: Eclipse workshop presentation (March 2016)

10. Shortcut to shortcuts• Ctrl+Shift+L to see a full list of the

currently available key bindings

Page 36: Eclipse workshop presentation (March 2016)

9. Open file / type• Open file quickly without browsing:

Ctrl + Shift + R

• Open a type (class / interface):Ctrl + Shift + T

Page 37: Eclipse workshop presentation (March 2016)

8. Show properties• Select project

Alt+Enter

• Select type/resourceAlt+Enter

Page 38: Eclipse workshop presentation (March 2016)

7. Maximize editor• Maximizes current editor

Ctrl + M

• You can also double-click editor tab

Page 39: Eclipse workshop presentation (March 2016)

6. Editor navigation• Jump to beginning / end of indentation. Twice to jump to beginning of line

– Home/End• Jump to beginning / jump to end of source

– Ctrl+Home/End• Jump one word to the left / one word to the right

– Ctrl+Arrow Right/Arrow Left• Jump to previous / jump to next method

– Ctrl+Shift+Arrow Down/Arrow Up• Jump to next / jump to previous compiler syntax warning or error

– Ctrl+./Ctrl+,• Jump to last location edited

– Ctrl+q• Jump to Line Number

– Ctrl+l • Hide/show line numbers

– Ctrl+F10 and select 'Show Line Numbers'

Page 40: Eclipse workshop presentation (March 2016)

5. Outline view• Quickly go to class member

Ctrl + O

Page 41: Eclipse workshop presentation (March 2016)

4. Code formatting• Ctrl + Shift + F for code formatting

• Ctrl + / for commenting, un commenting lines and blocks

Page 42: Eclipse workshop presentation (March 2016)

3. Organize imports• Organize imports

Ctrl+Shift+O

• Go from:– import java.util.*

• To:– import java.util.Map;– import java.util.Iterator;

Page 43: Eclipse workshop presentation (March 2016)

2. Print line• syso Ctrl+space• syse Ctrl+space

Page 44: Eclipse workshop presentation (March 2016)

1. Guess Exception• throw new NPE Ctrl+space

– NullPointerException

• throw new IAE Ctrl+space– IllegalArgumentException