01 01 Eclipse (Uvod)
01 01 Eclipse (Uvod)
01 01 Eclipse (Uvod)
O predmetu
Sadraj
Uvod
Instalacija
Workbench
Navigacija
Pokretanje
Debagovanje
Udaljeno debagovanje - remote debugging
2
ta je Eclipse
Integrisano okruenje za razvoj softvera (IDE) sa
podrkom za razliite programske jezike.
Platforma - Rich Client Platform (RCP).
Za programski jezik Java.
3
ta je Eclipse
Razvoj zapoeo IBM. Od 2001 se razvija kao slobodna
platforma otvorenog koda.
Preko 200 projekata.
Eclipse fondacija - neprofitna organizacija koja
rukovodi razvojem.
4
Eclipse Public License
Licenca slobodnog softvera otvorenog koda.
Kod objavljen pod EPL licencom moe se koristiti i u
komercijalne svrhe.
Da bi kod bio objavljen pod EPL licencom mora biti
osloboen od IP (Intelectual Property) prava.
Sve ovo ini EPL kod atraktivnim za korienje pri
razvoju komercijalnog softvera.
5
Instalacija Eclipse
Potrebno je instalirati Javu (tanije JDK - Java Development
Kit).
Sa sajta www.eclipse.org, iz download sekcije preuzeti
eclipse instalaciju.
Eclipse je proiriva platforma koja se moe krojiti po elji
putem komponenti koje se u Eclipse terminologiji nazivaju
prikljucima (plugins). Zbog toga je mogue preuzeti
razliite vrste distribucija.
Za razvoj python aplikacija ne postoji posebna distribucija
tako da se moe preuzeti distribucija za Java programere i
zatim se nadograditi sa PyDev prikljukom za razvoj
python programa.
Eclipse distribucija je zip fajl koji je potrebno raspakovati
ime je instalacija zavrena
Raspakovati arhivu u folder koji nema praznim mesta (space) u
nazivu i koji je na lokalnom disku
6
Pokrenuti fajl eclipse.exe
(Windows) ili eclipse (Linux).
Pokretanje Prilikom pokretanja eclipse
Linux folder layout ce traiti od korisnika da
definie putanju do radnog
prostora (Workspace).
7
Radni prostor - Workspace
9
Instalacija dodatnih funkcionalnosti i prikljuaka
10
Online instalacija
11
Online instalacija - dijalog
Dijalog za instalaciju sadri spisak udaljenih
repozitorijuma i svih funkcionalnosti koje se putem
njih mogu instalirati.
Mogue je da korisnik
doda svoj repozitorijum
12
Online instalacija - dodavanje PyDev
repozitorijuma
13
Online instalacija - izbor funkcionalnosti
Eclipse ce da isita podatke o dostupnim funkcionalnostima na
udaljenom repozitorijumu i ponudie izbor.
Izborom funkcionalnosti i prihvatanjem licence obavlja se
instalacija posle ega se preporuuje restartovanje Eclipse
okruenja. 2
1
14
PyDev konfiguracija
15
PyDev konfiguracija
16
Online instalacija - dodavanje WindowBuilder
repozitorijuma
WindowBuilder repozitorijum se dodaje navoenjem
proizvoljnog naziva i URL-a (zavisi od verzije Eclipse
softvera) koji navedenog na sajtu WindowBuilder
projekta (https://eclipse.org/windowbuilder/).
17
Online instalacija - izbor funkcionalnosti
WindowBuilder
2
1
18
WindowBuilder
WindowBuilder je Eclipse prikljuak (dodatak) koji
omoguava programerima da lako kreiraju desktop
Java GUI Swing aplikacije smanjujui potrebu za
pisanjem programskog koda (Vie o alatu na
predemtu Uvod u Objektno Programiranje ).
19
Eclipse Workbench
Glavni prozor Eclipse IDE-a sa svojim sadrajem.
Pored menija i toolbar-a sadri prozore koji se dele
na editore i poglede (Views).
Editori zauzimaju centralni deo glavnog prozora i
omoguavaju auriranje fajlova.
Pogledi su pomoni prozori koji daju dodatne
informacije o fajlovima koji se auriraju.
Editori se najee otvaraju kroz Package Explorer
pogled.
Pogledi se mogu skrivati/otkrivati, iskljuivati i
ukljuivati kroz dijalog Window Show View.
20
Eclipse Workbench
Pogledi
PackageExplorer (prikazuje listu projekata koji se nalaze u
radnom prostoru i hijerarhiju resursa u okviru projekata),
Outline (prikazuje listu atributa i metoda klase koja se
edituje)
Problems (prikazuje tabelu greaka i upozorenja vezanih za
izvorni kod)
Console (prikaz poruka na ekran za pokrenuti program)
Editor (zauzima centralni deo povrine radnog prostora i
slui za unos koda).
Glavni prozor je mogue organizovati na vie naina,
odnosno, perspektiva (perspective).
Perspektiva predstavlja skup odreenih editora i pogleda
specijalizovanih za razliite namene koje se najee dovodi
u vezi sa tipom projekta (npr. Python, Java, C++, Debug, ..).
21
Eclipse Workbench
Perspektive se promeniti u desnom gornjem uglu.
Neke od perspektiva:
Java - razvoj standardnih java aplikacija,
Jave EE - proireno standardno okruenje koje se npr. moe
koristiti za razvoj web aplikacija,
PyDev - razvoj python aplikacija,
Debug - okruenje za debagovanje/traenje greaka).
Pogledi koji se nalaze u odreenoj perspektivi se
mogu prilagoditi potrebama i navikama programera.
Mogu se dodavati novi ili brisati postojei pogledi iz
perspektiva, a mogu se i menjati veliine i poloaj
pogleda unutar radnog prostora.
22
Eclipse Workbench
PyDev perspektiva
23
Eclipse Workbench
Java perspektiva i editovanje programskog koda
24
Eclipse Workbench
Java perspektiva i rad sa PowerDesigner prikljukom
25
Obavlja se putem menija File
Kreiranje New Project ili kontekstinog
projekta menija New Project na
Package Explorer-u.
Moe se navesti putanja do
ve postojeeg izvornog
koda unosom podataka u
sekciji Project Contents.
Podrazumevana lokacija za
projekat je unutar radnog
prostora.
Zadaje se ime projekta,
Python verzija, interpreter i
odabire se opcija create 'src'
folder and add it to the
PYTHONPATH
26
Projekti
Programski kod se
organizuje unutar
projekata.
Projekat se sastoji od
hijerarhije Python
modula/Java klasa (u
skladu sa pravilima
definisanja paketa u
odabranom programskom
jeziku) i drugih datoteka
(npr. slika, txt fajlova,
konfiguracionih datoteke
itd.).
U okviru radnog prostora
moe da bude definisano
vie projekata. 27
Projekti
Projekat moe da bude otvoren (ikonica otvorena
fascikla) ili zatvoren (ikonica plava zatvorena fascikla).
Samo otvoreni projekti su aktivni, tj. nad njima je
jedino dozvoljen rad u eklipsi.
Zatvoreni projekti ne mogu da se menjaju jer nisu
aktivni (ali se i dalje nalaze u lokalnom fajl sistemu).
Poeljno je zatvarati nepotrebne projekte jer se na taj
nain oslobaaju zauzeti memorijski resursi i podiu
performanse Eclipse alata.
28
Manipulacija sa projektima
Zatvaranje otvorenog projekta - Desni klik na projekat
pa stavka Close Project.
Uklanjanje projekta iz Workbench - Projekte je
mogue ukloniti logiki i fiziki iz Eclipse Workbench-
a. Uklanjanje se postie desnim klikom na selektovani
projekat pa stavka Delete.
Uvalaenje postojeeg projekta - Prebaciti folder
postojeeg projekta u Workspace folder. Pozvati
opciju FileImportGeneral Existing project into
Workspace i kliknuti na dugme Next. Na dugmetu
Browse postaviti putanju do Workspace-a. Iz liste
ponuenih projekata odabrati onaj koji se importuje.
Klik na dugme Finish.
29
Navigacija kroz programski kod
Navigacija kroz kod je mogua upotrebom mia u
kombinaciji sa tastaturom.
Odlazak na definiciju simbola se obavlja na Ctrl + klik
miem.
30
Preice na tastaturi
Ctrl-Q poslednje mesto auriranja
F3 odlazak na deklaraciju
Ctrl-O brzi outline
Alt-left/right kretanje unazad/unapred kroz istoriju
Ctrl+Shift+up/down odlazak na prethodnu/sledeu
funkciju/metodu/klasu
Ctrl-L odlazak na liniju koda
Ctrl-/ postavljanje/skidanje komentara
Ctrl-Shift-F formatiranje izvornog koda
Ctrl-Shift-O organizacija import sekcije
Ctrl-J inkrementalno pretraivanje
Ctrl-K pronalaenje sledeeg
Alt-up/down pomeranje selektovanih linija gore/dole
Shift-Enter umetanje linije ispod tekue
Shift+Ctrl-Enter umetanje linije iznad tekue
31
Pokretanje programa
Izbor opcije Run Run As Python Run (moe i kroz
kontekstni meni).
Kasnije se program moe pokretati i sa tastature na
Ctrl+F11.
32
Pokretanje programa sa posebnim
podeavanjima
Ukoliko pokretanje nije standardno potrebno je
kreirati konfiguraciju za pokretanje (Run
Configuration) odaborom opcije Run Run
Configuration... .
33
Debagovanje
Predstavlja metodoloki proces u otkrivanju i
otklanjanju greaka u softveru sa ciljem da se
postigne eljeno ponaanje softvera.
Ostvaruje se putem namenskih alata koji
omoguavaju korano izvravanje programa i analizu
meustanja.
Primer alata je Eclipse Debuger
34
Debuger
Debuger predstavlja alat u razvojnom programskom
okruenju koji prua mogunost:
zaustavljanja izvravanja aplikacije u bilo kojoj liniji koda.
pristupanje sadraju i stanju objekata unutar programa u
bilo kom trenutku.
Debuger se koristi za:
otklanjanje greaka u aplikaciji (pronalaenje gde i zato
program ne radi)
upoznavanje novih projekata
bolje razumevanje naina rada programskog jezika i
objektno orijentisanog programiranja
35
Pokretanje debagera
Program se pokree u debag reimu rada putem
opcije Run Debug As Python Run.
Ili kasnije na F11.
Eclipse prelazi u Debug perspektivu koja omoguava
praenje procesa i niti, stanja programa, kontrolu,
korano izvravanje itd.
Pre pokretanja debagera potrebno je postaviti makar
jedan break point u kodu.
Break point oznaava mesto u naem programu u
kome e se zaustaviti izvravanje programa
koristi se samo u debug reimu rada
rad u debug modu nije mogu bez barem jedne prekidne
take
u programu mogue je imati vie od jedne prekidne take
36
Debug perspektiva
37
Pogledi Debug perspektive
1. Debug View - prozor koji prikazuje naziv i poziciju
trenutno aktivne programske niti
2. Editor - prikazuje liniju koda koja e se naredna
izvriti. Ova linija koda je posebno oznaana (u
primeru linija koda je selektovana zelenom
pozadinom)
3. Variable view - omoguava uvid u vrednosti objekata
aplikacije
38
Pogledi Debug perspektive
4. Breakpoints view - prikaz svih aktivnih prekidnih
taaka.
39
Izvravanje programa u Debag perspektivi
Toolbar debug mode-a predstavlja najvaniji deo
Debug perspektive koji omoguava kretanje kroz
program:
Resume akcija (F8) - omoguava nastavak izvravanja programa
ili do sledee prekidne take ili do izlazne take aplikacije
Terminate akcija (Ctrl+F2) - zaustavljanje debug sesije,
odnosno zavretak rada aplikacije
Step over akcija (F6) - izvrava trenutno selektovanu liniju koda
i staje na narednoj liniji.
Step into akcija (F5) - ulazi unutar metode koji je trenutno
selektovan i zaustavlja izvravanje aplikacije na vrhu metode
Step return metoda (F7) - zavrava izvravanje trenutno aktivne
metode u kojoj se program nalazi i vraa kontrolu na
metodu pozivaoca.
40
Debagovanje curses aplikacija
Curses modul ne dolazi sa Windows instalaciji
Pythona (The Windows version of Python doesnt
include the curses module )
Konzolni python program koji se pokree iz Eclipse
debagera se izvrava na Eclipse virtuelnoj konzoli koja
nema sve mogunosti kao i prava konzola.
Zbog toga nije mogue interaktivno debagovanje
curses aplikacija na standardan nain.
41
Remote debugging
Reenje je tzv. udaljeni debaging (remote debugging)
koji podrazumeva da se proces u kome se izvrava
na program povee na Eclipse PyDev debager i preda
mu kontrolu. Proces programa i Eclipse debager mogu
da se izvravaju na istom ili razliitim raunarima.
42
Pokretanje servera
Server se pokree iz Eclipse-a izborom dugmia:
43
Pokretanje servera
Da bi debag server mogao da preuzme kontrolu nad
naim programom moramo dodati parce koda koji ce
se konektovati na server i predati mu kontrolu.
44
Pokretanje servera
Dodavanje koda za pokretanje pydevd i pokretanje sa
komandne linije ce uzrokovati sledeom grekom:
Lin
45
Debagovanje
Pokretanjem programa sa komandne linije Eclipse e
da preuzme kontrolu i ponudi mogunost upravljanja
izvravanjem.
Proces debagovanja se dalje sastoji od koranog
izvravanja, postavljanja prekidnih taaka
(breakpoints), inspekcije vrednosti varijabli i sl.
46