55
Sponsor Sponsor główny główny: Bartosz Michalik Bartosz Michalik [email protected] Jakub Jurkiewicz Jakub Jurkiewicz [email protected] Eclipse Eclipse IDE IDE Zanim rozpoczniemy naszą pracę... Zanim rozpoczniemy naszą pracę...

Eclipse IDE

Embed Size (px)

DESCRIPTION

Eclipse IDE. Zanim rozpoczniemy naszą pracę. Agenda. Zanim zaczniemy Hello world ;) Organizujemy naszą pracę Napiszmy w końcu jakiś kod Tips & Tricks. Pierwsze zadanie. Zakładamy konto na naszej Bugzilli: adres: http://se.cs.put.poznan.pl/sebugs/ klikamy na link New Account - PowerPoint PPT Presentation

Citation preview

Page 1: Eclipse  IDE

SponsorSponsor główny główny::

Bartosz MichalikBartosz [email protected] JurkiewiczJakub [email protected]

EclipseEclipse IDE IDEZanim rozpoczniemy naszą pracę...Zanim rozpoczniemy naszą pracę...

Page 2: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

AgendaAgenda

▪Zanim zaczniemy

▪Hello world ;)

▪Organizujemy naszą pracę

▪Napiszmy w końcu jakiś kod

▪Tips & Tricks

Page 3: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pierwsze zadanie

▪Zakładamy konto na naszej Bugzilli:• adres: http://se.cs.put.poznan.pl/sebugs/

• klikamy na link New Account• podajemy adres e-mail

Page 4: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy▪Eclipse jest do ściągnięcia ze strony:

http://www.eclipse.org/downloads/

Page 5: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy

▪Po ściągnięciu mamy plik z archiwum ZIP

▪Rozpakowujemy ściągnięty plik• UWAGA! Standardowy mechanizm Windows XP do

rozpakowywania nie zawsze sobie radzi!

▪Uruchamiamy Eclipse’a przez eclipse.exe

Page 6: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemyZanim zaczniemy▪Opcje uruchamiania

Eclipse’a z linii komend

-vmargs -Xmx<memory size>

-debug

-consoleLog

-clear

ile RAMu potrzebujemy do pracy?

uruchamianie w trybie debug

logowanie do konsoli

gdy napotkamy problemy z pluginami

Page 7: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Po uruchomieniu

Page 8: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Po uruchomieniu

▪Podstawowe elementy interfejsu użytkownika• Perspektywy – definiują jakie widoki oraz edytory

mają się pojawić i w którym miejscu

• Edytory – pozwalają na zmiane treści/zawartości plików (ale nie tylko!)

• Widoki – prezentują informacje w sposób usystematyzowany (np. Hierarchię), pozwalają otwierać edytory, zmieniać właściwości elementów, itp.

Page 9: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa JavaPerspektywa Java

▪Jak zacząć pisać w Javie?• Musimy dostać się

do perspektywy Java

Page 10: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa JavaPerspektywa Java

Page 11: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa Perspektywa JavaJava▪Składa się z:

• Edytor

• Widok Projects

• Widok Packages

• Widok Types

• Widok Members

Page 12: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Hello worldHello world▪Tworzymy nowy projekt

Page 13: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Hello worldHello world▪Dodajemy foldery dla źródeł

Unikajmy bałaganu w projekach!

Page 14: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Organizujemy nasz projektOrganizujemy nasz projekt▪Użyteczna struktura projektu

• src

• test

• bin/classes

• lib

Page 15: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

ĆwiczenieĆwiczenie 1 1

▪Uruchomienie Eclipse’a

▪Stworzenie projektu i jego struktury

Page 16: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje vs Właściwości

▪Preferencje (ang. Preferences) – ogólne ustawienia dotyczące różnych aspektów Eclipse’a oraz dodatkowych wtyczek• Dostępne przez menu Window->Preferences

▪Właściwości (ang. Properties) – ustawienia dotyczące konkretnych elementów (np. projektów, plików, itp.)• Dostępne przez menu kontekstowe danego

elementu i wybranie opcji Properties

Page 17: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje edytoraPreferencje edytora▪Kolory

Page 18: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje edytoraPreferencje edytora▪Zwijanie linijek

▪Zaznaczanie wystąpień

▪Wzorce

▪Pisanie• Automatyczne domykanie : stringi, nawiasy etc.

• Automatyczne dodawanie instrukcji import

Page 19: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Wzorce koduWzorce kodu▪Wzorce kodu –

wykorzystywane przy generowaniu kodu

▪Wzorce – ponieważ jesteśmy leniwi

Page 20: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje kompilatoraPreferencje kompilatora▪Java VM

▪Błędy/Ostrzeżenia

▪Javadoc

▪Zadania

Page 21: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

ĆwiczenieĆwiczenie 2 2

▪Organizujemy naszą pracę

Page 22: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pomocy !!!Pomocy !!!

▪Nieodzowne F1

▪Menu Help• Help Contents• Dynamic Help• Search

Page 23: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pomocy !!!Pomocy !!!

Page 24: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kodNapiszmy w końcu jakiś kod

▪Prosty projekt

▪Skróty

▪Przeglądanie kodu

▪Ćwiczenie

▪Refaktoryzacje

Page 25: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kodNapiszmy w końcu jakiś kod

▪Aplikacja konsolowa do obliczeń

▪Wejście – plik lub konsola (console)

▪Wyjście – plik lub konsola (console)

▪Struktura wejścia• Operacja (+,-,/,*,mean,sort, primals)

• W każdym wierszu liczba

▪Wyjście lista liczb (lub pojedyncza liczba)

Page 26: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kodNapiszmy w końcu jakiś kod

+325215

18

Page 27: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kodNapiszmy w końcu jakiś kod ▪Struktura:

ComputingControler

IProcessor

DataInput

DataOutputAddingProcessor

Page 28: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Skróty klawiszoweSkróty klawiszowe▪Podstawowe skróty klawiszowe

▪Można redefiniować

Page 29: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemyZanim zaczniemy▪„One to rule them all” Ctrl+3

Page 30: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemyZanim zaczniemy▪Edycja kodu

• „One to rule them all” Ctrl+3

• Asystent (content assist) Ctrl + Space

• Szybkie podpowiedzi (quick fix) Ctrl + 1

• Historia Alt + Left / Right

• Skok do linii Ctrl + L

• Formatowanie Ctrl + Shift + F

• Przesuwanie linii Alt + up / down

• Maksymalizacja okna Ctrl + M

Page 31: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemyZanim zaczniemy▪Przeglądanie kodu

• Otwieranie deklaracji F3

• Szybki podgląd hierarchii Ctrl + T

• Otwieranie typu Ctrl + Shift + T

• Otwieranie hierarchii typu F4

Page 32: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemyZanim zaczniemy▪Wyszukiwanie:

Page 33: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Dodawanie bibliotekDodawanie bibliotek▪Jak ?

• dodanie do ścieżki (ang. build path)

• właściwości projektu

— lub skrótem (Alt + Enter)

Page 34: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Gdy brak źródłaGdy brak źródła▪Eksplorowanie kodu

▪brak kodu dołączonego do biblioteki▪jre zamist jdk

Page 35: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Dołączanie kodu źródłowegoDołączanie kodu źródłowego▪Jak ?

• We właściwościach

Page 36: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Uruchamiamy aplikacjęUruchamiamy aplikację▪Opcje uruchamiania

• W menu wybieramy Run->Open Run Dialog...

Page 37: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Eksportowanie / Importowanie

▪Eclipse pozwala na eksportowanie i importowanie wielu zasobów, np:• Projektów

• Preferencji

• Punktów wstrzymań

• ...

▪Kreatory do eksportu i importu dostępne są w menu File->Export oraz File->Import

Page 38: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

CVS

▪CVS (ang. Concurrent Versions System) – popularny system kontroli wersji

▪Wspomaga pracę grupową nad kodem

▪Eclipse oferuje pełne wsparcie dla CVSa• Perspektywa CVS Repository Exploring

Page 39: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Łączymy się z CVS’em▪Tworzymy

połączenie z repozytorium • File->New->CVS

Repository Location

▪W widoku CVS Repositories wybieramy interesujący nas projekt i opcję z menu kontekstowego Check Out

Page 40: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Synchronizacja z CVS’em▪Po wprowadzeniu zmian trzeba

zsynchronizować kod z CVS’em

▪Z menu kontekstowego wybieramy Team->Synchronize with Repository

▪W widoku Synchronize mamy podgląd jakie zmiany my wprowadziliśmy i jakie zmiany wprowadziły inne osoby

▪Możemy uaktualnić naszą wersję (opcja Update) lub wysłać nasze zmiany (opcja Commit)

▪Uwaga na konflikty!

Page 41: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Nasze ustawienia CVS

▪Host: se.cs.put.poznan.pl

▪Repository path: /cvsroot

▪Connection type: extssh

▪Default Port

▪User: nazwisko.imie• np. michalik.bartosz, jurkiewicz.jakub, itp.

▪Password: abc

Page 42: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn

▪Projekt rozwijany w ramach Eclipse’a• Strona domowa: http://www.eclipse.org/mylyn/

▪Pozwala na sprawne zarządzanie zadaniami

▪Tworzy i pozwala wspóldzielić kontekst każdego zadania

▪Współpracuje z zewnętrznymi narzędziami do zarządzania zadaniami, m.in.. Bugzilla, Trac, Jira

Page 43: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn – repozytoria zadań▪Zadania na podstawie repozytoriów zadań

• Zadania lokalne (ang. Local Tasks)

• Zadania zdalne w zewnętrznych narzędziach

▪Repozytoria definiuje się w widoku Task Repositories

Page 44: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - zadania

▪Widoczne w widoku Task List

Nowe Zadanie

Synchronizacja zadańAktualne zadanie

Page 45: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - zadania▪Wyszukiwanie zadań przez Zapytania (ang.

Queries)▪W widoku Task Repositories opcja w menu

kontekstowym New Query

Page 46: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - zadania

Planowanie Kontekst Dane z Bugzilli

Page 47: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - kontekst▪Z każdym zadaniem związany jest kontekst –

zasoby wykorzystywane przy jego wykonywaniu• Pliki• Klasy• Metody• ...

▪Kontekst pozwala odseparować potrzebne zasoby od reszty – dostajemy większą przejrzystość

▪Kontekst może być współdzielony, np. poprzez Bugzillę

Page 48: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - kontekst▪Włączanie widoczności kontekstu

• Przycisk:

▪Przykład:

▪Na początku pusty, dostosowuje podczas pracy nad zadaniem

Page 49: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

ĆwiczenieĆwiczenie 3 3▪Struktura:

ComputingControler

IProcessor

DataInput

DataOutput

AddingProcessor

YourProcessor

Page 50: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Ćwiczenie 3▪Co musimy zrobić?

• Ściągnąć dwa projekty z CVS’a: —Computing4StudentsIDE1

—ComputingBaseIDE1

• Połączyć się z Bugzillą

• Dodać nowe zadanie

• Napisać swoją klasę implementującą interfejs org.ess.computations.processors.IProcessor

• Odkomentować i zmienić kod w klasie Startercontroler.addProcessor("?", new YourProcessor());

Page 51: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

RefaktoryzacjeRefaktoryzacje▪Zmiana struktury kodu bez zmiany zachowania

▪Podstawowe refaktoryzacje• Extract method

• Extract interface

• Extract superclass

• Convert local variable to field

• Introduce parameter object

▪Dostępne w menu kontekstowym w edytorze lub w menu Refactor

Page 52: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Lekcja HistoriiLekcja Historii▪Zamiany zgodnie z historią (ang. history replace)

▪Porównywanie z historią (ang. history compare)

Page 53: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Tips & TricksTips & Tricks

Page 54: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pytania?Pytania?

Pytania?

Page 55: Eclipse  IDE

Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Dziękuję za uwagę!