Sponsor gwny Eclipse IDE Zanim rozpoczniemy nasz prac

  • Slides: 55
Download presentation
Sponsor główny: Eclipse IDE Zanim rozpoczniemy naszą pracę. . . Bartosz Michalik bartosz. michalik@gmail.

Sponsor główny: Eclipse IDE Zanim rozpoczniemy naszą pracę. . . Bartosz Michalik bartosz. michalik@gmail. com Jakub Jurkiewicz jakub. jurkiewicz@cs. put. poznan. pl

Agenda ▪ Zanim zaczniemy ▪ Hello world ; ) ▪ Organizujemy naszą pracę ▪

Agenda ▪ Zanim zaczniemy ▪ Hello world ; ) ▪ Organizujemy naszą pracę ▪ Napiszmy w końcu jakiś kod ▪ Tips & Tricks Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pierwsze zadanie ▪ Zakładamy konto na naszej Bugzilli: • adres: http: //se. cs. put.

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy ▪ Eclipse jest do ściągnięcia ze strony: http: //www. eclipse. org/downloads/ Bartosz

Zanim zaczniemy ▪ Eclipse jest do ściągnięcia ze strony: http: //www. eclipse. org/downloads/ Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy ▪ Po ściągnięciu mamy plik z archiwum ZIP ▪ Rozpakowujemy ściągnięty plik

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy ▪ Opcje uruchamiania Eclipse’a z linii komend -vmargs -Xmx<memory size> ile RAMu

Zanim zaczniemy ▪ Opcje uruchamiania Eclipse’a z linii komend -vmargs -Xmx<memory size> ile RAMu potrzebujemy do pracy? -debug uruchamianie w trybie debug -console. Log logowanie do konsoli -clear gdy napotkamy problemy z pluginami Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Po uruchomieniu Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Po uruchomieniu Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

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

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. Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa Java ▪ Jak zacząć pisać w Javie? • Musimy dostać się do perspektywy

Perspektywa Java ▪ Jak zacząć pisać w Javie? • Musimy dostać się do perspektywy Java Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa Java Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa Java Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Perspektywa Java ▪ Składa się z: • Edytor • Widok Projects • Widok Packages

Perspektywa Java ▪ Składa się z: • Edytor • Widok Projects • Widok Packages • Widok Types • Widok Members Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Hello world ▪ Tworzymy nowy projekt Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Hello world ▪ Tworzymy nowy projekt Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

▪ Dodajemy foldery dla źródeł Hello world Unikajmy bałaganu w projekach! Bartosz Michalik, Jakub

▪ Dodajemy foldery dla źródeł Hello world Unikajmy bałaganu w projekach! Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Organizujemy nasz projekt ▪ Użyteczna struktura projektu • src • test • bin/classes •

Organizujemy nasz projekt ▪ Użyteczna struktura projektu • src • test • bin/classes • lib Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Ćwiczenie 1 ▪ Uruchomienie Eclipse’a ▪ Stworzenie projektu i jego struktury Bartosz Michalik, Jakub

Ćwiczenie 1 ▪ Uruchomienie Eclipse’a ▪ Stworzenie projektu i jego struktury 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

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje edytora ▪ Kolory Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje edytora ▪ Kolory Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje edytora ▪ Zwijanie linijek ▪ Zaznaczanie wystąpień ▪ Wzorce ▪ Pisanie • Automatyczne

Preferencje edytora ▪ Zwijanie linijek ▪ Zaznaczanie wystąpień ▪ Wzorce ▪ Pisanie • Automatyczne domykanie : stringi, nawiasy etc. • Automatyczne dodawanie instrukcji import Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Wzorce kodu ▪ Wzorce kodu – wykorzystywane przy generowaniu kodu ▪Wzorce – ponieważ jesteśmy

Wzorce kodu ▪ Wzorce kodu – wykorzystywane przy generowaniu kodu ▪Wzorce – ponieważ jesteśmy leniwi Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Preferencje kompilatora ▪ Java VM ▪ Błędy/Ostrzeżenia ▪ Javadoc ▪ Zadania Bartosz Michalik, Jakub

Preferencje kompilatora ▪ Java VM ▪ Błędy/Ostrzeżenia ▪ Javadoc ▪ Zadania Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Ćwiczenie 2 ▪ Organizujemy naszą pracę Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Ćwiczenie 2 ▪ Organizujemy naszą pracę Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pomocy !!! ▪ Nieodzowne F 1 ▪ Menu Help • Help Contents • Dynamic

Pomocy !!! ▪ Nieodzowne F 1 ▪ Menu Help • Help Contents • Dynamic Help • Search Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pomocy !!! Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pomocy !!! Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kod ▪ Prosty projekt ▪ Skróty ▪ Przeglądanie kodu ▪

Napiszmy w końcu jakiś kod ▪ Prosty projekt ▪ Skróty ▪ Przeglądanie kodu ▪ Ćwiczenie ▪ Refaktoryzacje Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kod ▪ Aplikacja konsolowa do obliczeń ▪ Wejście – plik

Napiszmy 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) Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kod + 3 2 18 5 2 1 5 Bartosz

Napiszmy w końcu jakiś kod + 3 2 18 5 2 1 5 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Napiszmy w końcu jakiś kod ▪ Struktura: IProcessor Computing. Controler Data. Output Adding. Processor

Napiszmy w końcu jakiś kod ▪ Struktura: IProcessor Computing. Controler Data. Output Adding. Processor Data. Input Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Skróty klawiszowe ▪ ▪ Podstawowe skróty klawiszowe Można redefiniować Bartosz Michalik, Jakub Jurkiewicz Eclipse

Skróty klawiszowe ▪ ▪ Podstawowe skróty klawiszowe Można redefiniować Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy ▪ „One to rule them all” Ctrl+3 Bartosz Michalik, Jakub Jurkiewicz Eclipse

Zanim zaczniemy ▪ „One to rule them all” Ctrl+3 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

▪ Edycja kodu Zanim zaczniemy • „One to rule them all” Ctrl+3 • Asystent

▪ Edycja kodu Zanim zaczniemy • „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 Bartosz Michalik, Jakub Jurkiewicz Ctrl + M Eclipse Summer School 2007

Zanim zaczniemy ▪ Przeglądanie kodu • Otwieranie deklaracji F 3 • Szybki podgląd hierarchii

Zanim zaczniemy ▪ Przeglądanie kodu • Otwieranie deklaracji F 3 • Szybki podgląd hierarchii Ctrl + T • Otwieranie typu Ctrl + Shift + T • Otwieranie hierarchii typu F 4 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy ▪ Wyszukiwanie: Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Zanim zaczniemy ▪ Wyszukiwanie: Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

▪ Jak ? Dodawanie bibliotek • dodanie do ścieżki (ang. build path) • właściwości

▪ Jak ? Dodawanie bibliotek • dodanie do ścieżki (ang. build path) • właściwości projektu — lub skrótem (Alt + Enter) Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Gdy brak źródła ▪ Eksplorowanie kodu ▪brak kodu dołączonego do biblioteki ▪jre zamist jdk

Gdy brak źródła ▪ Eksplorowanie kodu ▪brak kodu dołączonego do biblioteki ▪jre zamist jdk Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Dołączanie kodu źródłowego ▪ Jak ? • We właściwościach Bartosz Michalik, Jakub Jurkiewicz Eclipse

Dołączanie kodu źródłowego ▪ Jak ? • We właściwościach Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Uruchamiamy aplikację ▪ Opcje uruchamiania • W menu wybieramy Run->Open Run Dialog. . .

Uruchamiamy aplikację ▪ Opcje uruchamiania • W menu wybieramy Run->Open Run Dialog. . . Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Eksportowanie / Importowanie ▪ Eclipse pozwala na eksportowanie i importowanie wielu zasobów, np: •

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

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

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Łączymy się z CVS’em ▪ Tworzymy połączenie z repozytorium • File->New->CVS Repository Location ▪

Łą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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Synchronizacja z CVS’em ▪ Po wprowadzeniu zmian trzeba zsynchronizować kod z CVS’em ▪ Z

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! Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Nasze ustawienia CVS ▪ Host: se. cs. put. poznan. pl ▪ Repository path: /cvsroot

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

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

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn – repozytoria zadań ▪ Zadania na podstawie repozytoriów zadań • Zadania lokalne (ang.

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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - zadania ▪ Widoczne w widoku Task List Nowe Zadanie Aktualne zadanie Bartosz

Mylyn - zadania ▪ Widoczne w widoku Task List Nowe Zadanie Aktualne zadanie Bartosz Michalik, Jakub Jurkiewicz Synchronizacja zadań Eclipse Summer School 2007

Mylyn - zadania ▪ Wyszukiwanie zadań przez Zapytania (ang. ▪ Queries) W widoku Task

Mylyn - zadania ▪ Wyszukiwanie zadań przez Zapytania (ang. ▪ Queries) W widoku Task Repositories opcja w menu kontekstowym New Query Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - zadania Planowanie Kontekst Bartosz Michalik, Jakub Jurkiewicz Dane z Bugzilli Eclipse Summer

Mylyn - zadania Planowanie Kontekst Bartosz Michalik, Jakub Jurkiewicz Dane z Bugzilli Eclipse Summer School 2007

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

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ę Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Mylyn - kontekst ▪ Włączanie widoczności kontekstu • Przycisk: ▪ Przykład: ▪ Na początku

Mylyn - kontekst ▪ Włączanie widoczności kontekstu • Przycisk: ▪ Przykład: ▪ Na początku pusty, dostosowuje podczas pracy nad zadaniem Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Ćwiczenie 3 ▪ Struktura: IProcessor Computing. Controler Adding. Processor Data. Output Your. Processor Data.

Ćwiczenie 3 ▪ Struktura: IProcessor Computing. Controler Adding. Processor Data. Output Your. Processor Data. Input Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Ćwiczenie 3 ▪ Co musimy zrobić? • Ściągnąć dwa projekty z CVS’a: — Computing

Ćwiczenie 3 ▪ Co musimy zrobić? • Ściągnąć dwa projekty z CVS’a: — Computing 4 Students. IDE 1 — Computing. Base. IDE 1 • 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 Starter controler. add. Processor("? ", Bartosz Michalik, Jakub Jurkiewicz new Your. Processor()); Eclipse Summer School 2007

Refaktoryzacje ▪ Zmiana struktury kodu bez zmiany zachowania ▪ Podstawowe refaktoryzacje • Extract method

Refaktoryzacje ▪ 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 Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Lekcja Historii ▪ Zamiany zgodnie z historią (ang. history replace) ▪ Porównywanie z historią

Lekcja Historii ▪ Zamiany zgodnie z historią (ang. history replace) ▪ Porównywanie z historią (ang. history compare) Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Tips & Tricks Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Tips & Tricks Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pytania? Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Pytania? Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Dziękuję za uwagę! Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007

Dziękuję za uwagę! Bartosz Michalik, Jakub Jurkiewicz Eclipse Summer School 2007