Myśli, porady, tutoriale na temat środowiska Eclipse (i nie tylko)...

poniedziałek, 17 sierpnia 2009

Szkoła Letnia Eclipse 2009 tylko dla studentów!

Tak, również w tym roku zapraszamy na szkolenie o nazwie 'Szkoła Letnia Eclipse'. Z naszych doświadczeń wynikało, że studenci mają inne potrzeby niż osoby w firm komercyjnych, dlatego też chcieliśmy w tym roku stworzyć dwie ścieżki szkolenia: ścieżka Student miała pozwolić studentom zapoznać się z platformą Eclipse oraz dać szansę napisania własnych wtyczek, natomiast ścieżka PRO przeznaczona była dla doświadczonych programistów, którzy dość zwykle szybciej niż studenci chcą przejść do rzeczy bardziej zaawansowanych.
Okazało się jednak, że wiele firm zainteresowanych jest indywidualnymi szkoleniami wewnętrznymi, dlatego też postanowiliśmy w tym roku zrezygnować ze ścieżki PRO, zostawiamy natomiast ścieżkę student. Jeśli jednak Twoja firma chciałaby, abyśmy zorganizowali dla Was szkolenie z platformy Eclipse zgłoście się do nas w celu ustalenia szczegółów współpracy.

Natomiast wszystkich studentów, którzy chcieliby poznać platforme Eclipse serdecznie zapraszam do rejestracji (do końca sierpnia obowiązuje niższa opłata rejestracyjna)! Myślę, że jest to szansa na szybkie i przyjemne poznanie Eclipse'a i jego tajników za bardzo niską cenę!

środa, 24 czerwca 2009

Eclipse Galileo już jest!

Już można ściągać najnowszą wersję Eclipse'a! Szczerze polecam!

wtorek, 23 czerwca 2009

Eclipse DemoCamp Galileo w Poznaniu już dzisiaj!

Zapraszam wszystkich zainteresowanych nowościami w Eclipsie na dzisiejsze spotkanie w ramach międzynarodowego przedsięwzięcia Eclipse DempCamp. Spotkanie odbędzie się w salach Centrum Wykładowego Politechniki Poznańskiej (mapa), a rozpocznie się o godzinie 20:00.

Wszystkich, którzy nie będą mogli wziąć udział zapraszam na mojego Twittera, postaram się relacjonować przebieg spotkania.
Agenda i więcej szczegółów znajdziecie tutaj. Do zobaczenia!

P.S. Wcześniej (o godzinie 18:00) odbędzie się prezentacja pana Erica Evansa pod tytułem "In The Brain of Eric Evans, An introduction to Domain driven design". Myślę, że warto przyjść i posłuchać!

wtorek, 5 maja 2009

I TY możesz pomóc wybrać nazwę dla nowej wersji Eclipse'a!

Zbliżamy się powoli do końcowego odliczania przed oficjalnym wydaniem Eclipse 3.5 Galileo, a niedługo potem zaczną się prace nad kolejną wersją, tym razem Eclipse 3.6 ??? - no właśnie, ciągle nie ma nazwy dla kolejnej wersji Eclipse'a! Jeśli chcesz pomóc w wyborze nazwy oddaj swój głos w ankiecie lub weż udział w dyskusji. Do tej pory nazwy związane były z księżycami Jowisza oraz z ich odkrywcą, ale nikt nie powiedział, że tak musi być nadal, zatem do głosowania!

wtorek, 21 kwietnia 2009

Domyślne edytory plików

Pewnie każdemu z nas zdarza się mieć w projekcie pliki, które chcemy otwierać zawsze w naszym ulubionym edytorze (niekoniecznie tym z Eclipse'a), a Eclipse uparcie otwiera nam je domyślnym edytorze. Co wtedy robimy? Klikamy w widoku Package Explorer prawym przyciskiem myszy na pliku i wybieramy Open with->Nazwa edytora.

A co powinniśmy zrobić?

Otworzyć preferencje (Window->Preferences) na stronę General->Editors->File Associations:

Możemy tutaj zdefiniować jaki edytor powinien być domyślny dla naszego typu pliku.

Typy plików definiujemy w górnej sekcji File Types. Co istotne możemy też zdefiniować tutaj konkretny plik, a nie tylko typ!
Aby połączyć pliki z edytorem wystarczy w sekcji File Types zaznaczyć nasz plik lub typ plików i w sekcji Associated Editors kliknąć przycisk Add i podać wybrany przez nas edytor - mamy do wyboru edytory dostępne w Eclipse jak i programy zewnętrzne, więc możemy dostosować Eclipse'a do naszych potrzeb.


wtorek, 14 kwietnia 2009

O debugowaniu część III

No i znowu minął ponad miesiąc bez nowości, ale oto jestem z garścią kolejnych informacji na temat mechanizmu debugowania w Eclipsie.
W poprzednim poście mówiliśmy o właściwościach punktów wstrzymań, spójrzmy teraz jak można sprawnie nimi zarządzać - służy do tego widok Breakpoints (Window->Show View->Other->Debug->Breakpoints):

W widoku tym możemy w prosty sposób za pomocą opcji w pasku narzędzi:
  • dodawać i usuwać punkty wstrzymań (pojedynczo lub wszystkie za jednym razem)
  • wyświetlić tylko punkty wstrzymań aktywne dla wybranej platformy docelowej (np. dla debugowania kodu w C, Javie lub dla skryptów Anta widoczne będą tylko punkty wstrzymań danego typu)
  • przejść do miejsca w kodzie, w którym punkt dany punkt wstrzymań jest ustawiony
  • deaktywować wszystkie punkty wstrzymań
  • dodać punkt wstrzymań wyjątków
Natomiast gdy wejdziemy w menu widoku

będziemy mogli:
  • grupować punkty wstrzymań
  • definiować zbioru robocze punktów wstrzymań
  • pokazywać nazwy kwalifikowane
Jeśli chcemy podzielić się z kimś naszym zbiorem punktów wstrzymań to powinniśmy zainteresować się opcją ich eksportu File->Export->Run/Debug->Breakpoints i importu File->Import->Run/Debug->Breakpoints.

wtorek, 24 lutego 2009

O debugowaniu część II

W poprzednim poście mówiliśmy o różnych typach punktów wstrzymań (ang. breakpoints), dzisiaj proponuję spojrzeń na ich ciekawe właściwości, które mogą zwiększyć naszą wydajność przy szukaniu błędów.
Żeby dostać się do właściwości punktu wstrzymań wystarczy kliknąć na nim (na lewym bocznym pasku edytora, lub też w widoku Breakpoints) prawym przyciskiem myszy i wybrać opcję Breakpoint Properites.

Hit Count


W polu Hit Count podajemy wartość całkowitą dodatnią N, co spowoduje, że punkt wstrzymań będzie aktywny, gdy wykonanie programu trafi na niego N-ty raz.
Żeby lepiej to zobrazować spójrzmy na przykład poniżej. Załóżmy, że mamy następujący kod z ustawionym punktem wstrzymań: 

wartość właściwości Hit Count dla punktu wstrzymań ustawiamy na 7 i uruchamiamy debugowanie. Do momenty zatrzymania się na punkcie wstrzymań na konsoli zobaczymy:

czyli kod wykonał się sześć razy i gdy po raz siódmy trafił na punkt wstrzymań zatrzymał swoje wykonywanie.

Warunki (ang. Conditions)

Właściwość ta daje nam możliwość ustawiania (jak sama nazwa wskazuje) warunków, po spełnieniu których nasz punkt wstrzymań będzie aktywny i zatrzyma wykonywanie programu. Kiedy może się to przydać? Wyobraźcie sobie, że macie jakąś pętlę, w której wykonujecie operacje na 1000-elementowej liście i dla kilku elementów pętla działa niepoprawnie. Można sobie z tym poradzić ustawiając odpowiednie instrukcje warunkowe w pętli i dla tych instrukcji ustawić punkty wstrzymań, ale takie rozwiązanie powoduje, że w naszym kodzie pojawia się niepotrzebny bałagan. Lepiej do takich celów wykorzystać właśnie Warunki.
Weźmy kod z wcześniejszego przykładu i ustawmy następnujący warunek na punkcie wstrzymań:

Po uruchomieniu programu w trybie debugowania na konsoli zobaczymy:

Przy konstrukcji warunku możemy korzystać ze wszystkich zmiennych dostępnych w obrębie kontekstu danego punktu wstrzymań. W polu do wpisywania Warunku działa również Content Assist, więc można korzystać z podpowiedzi dostępnych pod skrótem Ctrl+Space.

czwartek, 19 lutego 2009

O debugowaniu część I

Trochę długo nic nowego się nie pojawiało, czas to zmienić. Na innym blogu, na którym się udzielam rozpocząłem jakiś czas temu serię postów na temat eclipsowego debuggera. W pewnym momencie Jacek Laskowski zwrócił moją uwagę na fakt, że brakuje takich informacji w języku polskim, więc postanowiłem również tutaj napisać kilka postów na temat debuggera, którego możecie znaleźć w Eclipsie.

Pewnie powinienem zacząć od tego w jaki sposób uruchamiać aplikację w trybie debug, ale żeby na samym początku nikogo nie zanudzić i jednocześnie, żeby nie było za trudno zacznijmy może od przeglądu dostępnych w Eclipsie typów punktów wstrzymań (ang. breakepoints).
Podczas debugowania możemy korzystać z:
  • punktów wstrzymań linii
  • punktów wstrzymań metod
  • punktów wstrzymań pól
  • punktów wstrzymań klasy
  • punktów wstrzymań wyjątków
Punkty wstrzymań linii

Jest to chyba najpopularniejszy rodzaj punktów wstrzymań, sam kiedyś korzystałem jedynie z nich, dlatego też nie ma chyba potrzeby, żeby wchodzić w szczegóły. Takie punkty wstrzymań ustawiamy (klikając na lewym bocznym pasku edytora przy odpowiedniej linii) jeśli chcemy, aby wykonywanie naszego programu zatrzymało się na konkretnej linii.


Punkty wstrzymań metod

Czasami może nas interesować sytuacja, kiedy program wchodzi i/lub wychodzi z jakiejś metody, wówczas przydatne stają się punkty wstrzymań metod. Punkty takie ustawiamy klikając na lewym bocznym pasku edytora przy linii z rozpoczęciem definicji metody

We właściwościach (klikamy prawym przyciskiem na ikonce punkty wstrzymań i wybieramy Breakpoints Properties) takich punktów wstrzymań możemy określić czy program ma się zatrzymać na wejściu i/lub wyjściu z metody:


Punkty wstrzymań pól

Jeśli zależy nam na zatrzymaniu wykonywania programu, gdy określone pole klasy jest wykorzystywane (odczytywane i/lub modyfikowane) to możemy wykorzystać punkty wstrzymań pól.

Tutaj również właściwości pozwalają nam dostosować zachowanie punktu wstrzymań do naszych potrzeb - możemy wybrać, czy ma on być aktywny przy odczycie i/lub modyfikacji danego pola:

Punkty wstrzymań klas

Tego rodzaju punktu wstrzymań możemy wykorzystać, gdy interesuje nas moment, w którym dana klasa jest po raz pierwszy ładowana przez maszynę wirtualną.

Punkty wstrzymań wyjątków

A co jeżeli w naszej aplikacji rzucany jest jakiś wyjątek i ciężko jest nam znaleźć miejsce i przyczynę takiej sytuacji? Wystarczy wtedy użyć punktów wstrzymań wyjątków. Wyjątki takie ustawia się w widoku Breakpoints (Window->Show View->Other->Debug->Breakpoints) - wybieramy opcję Add Java Exception Breakpoint:

i w nowym oknie wybieramy wyjątek, na który chcemy reagować:

Dodatkowo we właściwościach (w widoku Breakpoints klikamy prawym przyciskiem na danym wyjątku i wybieramy Breakpoint Properties) możemy wskazać, czy program ma się zatrzymać na wyjątkach "łapanych", "niełapanych", czy może na również na podklasach danego wyjątku:


W kolejnym poście spojrzymy jakie jeszcze możliwości dają nam punkty wstrzymań.