Myśli, porady, tutoriale na temat środowiska Eclipse (i nie tylko)...
wtorek, 24 lutego 2009
O debugowaniu część II
czwartek, 19 lutego 2009
O debugowaniu część I
- punktów wstrzymań linii
- punktów wstrzymań metod
- punktów wstrzymań pól
- punktów wstrzymań klasy
- punktów wstrzymań wyjątków
wtorek, 28 października 2008
Jak korzystać z filtrów?
Pamiętam jak bardzo byłem zdziwiony i zadowolony, gdy po raz pierwszy odkryłem, że widok Package Explorer daje możliwość filtrowania swojej zawartości - niby taka mała rzecz, a ucieszyła mnie niezmiernie. O czym mówię? Kiedy wejdziemy sobie do menu widoku znajdziemy tam opcję Filters...
Gdy wybierzemy właśnie tę opcję pojawi nam się okienko z możliwościami filtrowania zawartości widoku pod różnym kątem:
Jak widzimy mamy sporo elementów, które możemy ukryć, np. zamknięte projekty (ang. Closed projects), puste pakiety (ang. Empty packages), elementy nie-javowe (ang. Non-java elements) i wiele innych. Możemy też stworzyć swój własny filtr, nadając mu nazwę oraz podając pliki o jakich rozszerzeniach powinny być ukryte.
Z filtrów należy jednak korzystać ostrożnie, bo po jakimś czasie możemy zapomnieć, że jakiś element ukryliśmy i będziemy go usilnie szukać nie mając pojęcia, że wystarczy odznaczyć, którąś z opcji w filtrach, aby go zobaczyć ponownie.
Filtrowanie zawartości to domena nie tylko widoku Package Explorer, inne widoki też często dają takie możliwości (np. Outline), jednak czasami kryją się one pod mniej intuicyjną nazwą - np. w widoku Problems znajdziemy opcję Configure Content...:
po wybraniu której pokaże nam się miej więcej takie okno:
W oknie tym możemy:
- określić błędy jakiego typu mają się wyświetlać (np. błędy kompilacji, błędy wtyczek, itp.)
- wskazać jaki tekst mają zawierać opisy błędów, które mają się pojawiać w widoku
- określić jakiego rodzaju informacje mają być wyświetlane (błędy - ang. errors, ostrzeżenia - ang. warnings czy informacje - ang. info)
- wskazać, których elementów problemy mają być brane pod uwagę (np. opcja On selected element and its children pozwala na wyświetlanie błędów z całego jednego konkretnego projektu zaznaczonego w widoku Package Explorer)
- dodawać własne konfiguracje zawartości, zapisywać je i później w łatwy sposób się między nimi przełączać
środa, 22 października 2008
Kurs podstawowy, część IV
Witam po dość długiej przerwie. Dzisiaj będzie krótko - IV część kursu podstawowego, mam jednak nadzieję, że wkrótce uda mi się napisać coś dłuższego (mam w planach wpis o wszechobecnych filtrach oraz o testowaniu wtyczek - macie jakieś preferencje co do kolejność?).
W dziejszym odcinku kursu mówię m.in. o:
- konfiguracjach uruchomienie
- kilku ciekawych skrótach (Ctrl+Shift+O, Ctrl+Shift+F, Ctrl+3)
- widok Tasks
Miłego oglądania życzę:
czwartek, 28 sierpnia 2008
O Eclipse w Java Express
Właśnie ukazał się pierwszy numer zupełnie nowego (i darmowego!) internetowego pisma o Javie - Java Express. Część pisma zajmuje tematyka eclipsowa, dlatego szczególnie polecam zapoznanie się z tym materiałem. A przy okazji mogę się pochwalić, że jestem autorem jednego z artykułów i mam nadzieję, że uda się nawiązać dłuższą współpracę przy tworzeniu kolejnych numerów.
środa, 27 sierpnia 2008
Skróty dla edytora
Ostatnio ukazał się ciekawy post przypominający kilka interesujących skrótów, które ułatwiają i przyspieszają pracę z edytorami w Eclipsie. Myślę, że warto zwrócić uwagę na:
- Alt + Góra/Dół - przesuwanie aktualnej lunii w górę lub w dół
- Ctrl + Alt + Góra/Dół - kopiowanie linii w górę lub w dół
- Ctrl + L - przejście do linii o wybranym numerze
- Ctrl + . - przejście do następnego błędu lub ostrzeżenia (dostępne tylko dla etytora Javy)
poniedziałek, 23 czerwca 2008
Eclipse DemoCamp już dziś w Poznaniu, a w sobotę w Krakowie!
Przypominam, że już dzisiaj czeka nas wielkie eclipsowe wydarzenie w Poznaniu, czyli Eclipse DemoCamp! Serdecznie zapraszamy do Piwnicy 21 na godzinę 18:00. Jeśli jeszcze się nie dopisaliście to listy uczestników to zróbcie to już teraz (do edycji wiki potrzebne jest hasło na Bugzilli Eclipse'a, jeśli nie macie takiego konta, to dajcie znać w komentarzu, a dopiszę Was do listy).
Spotkanie zapowiada się bardzo ciekawie, będą goście z laboratorium IBM'u w Krakowie - Szymon Brandys oraz Tomek Żarna, będzie mowa modelowaniu biznesowym, generowaniu raportów, nowościach w Eclipse Ganymede, a także o mechanizmie zadań w platformie Eclipse, uczestnicy projektów eclipsowych w ramach Google Summer of Code opowiedzą o tym co przygotowują, a dodatkowo każdy z Was będzie mógł wziąć mikrofon i powiedzieć kilka słów od siebie! Z tego co wiem, to organizatorzy planują kilka niespodzianek, więc nie może Was tam zabraknąć!
Kraków też szykuje spotkanie w ramach Eclipse DemoCamp - najbliższa sobota 28.06.2008 godzina 12:30, klub RE. Jeśli nie możecie dołączyć do nas w Poznanu, to w Krakowie na pewno też będzie ciekawie, więc zachęcam do uczestnictwa!
poniedziałek, 16 czerwca 2008
Co nowego nas czeka w Eclipse Ganymede 3.4?
Jak już pisałem wielkimi krokami zbliża się premiera Eclipse Ganymede, czyli wersji 3.4. Pora chyba przyjrzeć się, czego można się spodziewać, gdy ściągniemy już nową wersję tego środowiska. Poniższy wybór nowej funkcjonalności jest całkowicie subiektywny, więc czekam na Wasze propozycje i opinię w komentarzach.
Java IDE (projekt JDT)
- Pojawił się mechanizm...okruchów (?), czyli po angielsku breadcrumb, który ułatwia nawigowanie po strukturze projektu. Jak zauważycie, gdy macie otwarty edytor Javy to na pasku narzędzi pojawia się taki oto przycisk:
Po wciśnięciu tego przycisku do naszego edytora u góry zostaje dołożony mniej więcej taki pasek:
Co ten pasek nam daje? Otóż po pierwsze pokazuje gdzie w strukturze projektu się znajdujemy. Po drugie bez korzystania z eksploratora projektów (ang. Package Explorer) możemy w prosty sposób przemieszczać się między elementami na różnych poziomach (projektu, folderu, pakietu, klasy oraz elementów klasy):

- Opcja Search->Occurences in File (Ctrl + Shift + U) używa różnych kolorów do oznaczania operacji odczyty i zmiany wartości szukanej zmiennej:

- W podobny sposób jak powyżej oznaczane są wyszukane elementy w edytorze Javy - opcja Mark Occurences (Alt + Shift + O). Kolory możemy zmienić w preferencjach General->Editors->Text Editors->Annotations.
- Quick Assist (dostępny pod skrótem Ctrl+1) ma teraz dodatkowe podpowiedzi:
- Podpowiedzi metod statycznych klas jeszcze niezaimportowanych:

- Liczby mogą być teraz kolorowane tak jak nam się to podoba (preferencje Java->Editor->Syntax Coloring):


- Ostrzeganie o używaniu null'a

- W nieposortowanych widokach, np. w widoku Outline, możliwe jest przesuwanie elementów kodu (pól/metod), a zmiany te zostaną odzwierciedlone w strukturze kodu.
- Jeśli macie komputery z wieloma procesorami, to powinniście zauważyć przyspieszenie czasu kompilacji.
- Dotychczasowy mechanizm aktualizacji oraz instalacji nowych wtyczek (czyli Update Manager) został wymieniony na mechanizm o nazwie P2. Nowe podejście dość znacznie różni się od tego co było wcześniej, więc jeszcze przed premierą Eclipse Ganymede w oddzielnym poście opisać zmiany i pokazać jak korzystać z P2.
- Pełne wsparcie SWT dla Windowsa 64-bitowego
- TextLayout oraz StyledText z SWT dają możliwość zmiany koloru przekreślenia oraz udostępniają rożne style podkreślenia
- Nowe projekty mogą od razu podczas ich tworzenia być dodawane do Zbiorów Roboczych:

- Ulepszone możliwości drukowania:
- Drukowanie numerów linii
- Nie drukuje się już tło
- Każda strona wydruku ma w nagłówku nazwę pliku
- W stopce pojawia się numer strony
- Przy prezentacji wyniku wyszukiwania podawany jest numer linii

- Mamy możliwość eksportu oraz importu konfiguracji uruchomienia (ang. launch configuration), dostępne przez menu File->Export->Run/Debug oraz File->Import->Run/Debug


- Pojawił się nowy widok Markers, który agreguje informacje z widoków Problems, Tasks oraz Bookmarks.
- Widoki można od teraz zamykać klikając na nagłówku środkowym klawiszem myszy.
- Jeśli chcemy zaznaczyć wiele linii w edytorze tekstowym (nie tylko dla plików Java) możemy skorzystać z nowego mechanizmu: klikamy trzymając Shift na numerze linii od której chcemy zacząć zaznaczanie, następnie klikamy z Shiftem na numerze linii, na której chcemy skończyć zaznaczanie.
- Pojawiło się narzędzie o nazwie Plugin Spy. Pisałem już o tym jakiś czas temu, więc chyba nie ma potrzeby żebym się o tym rozpisywał.
- Widok Plug-in Registry pozwala wykonywać dodatkowe operacje na wtyczkach, takie jak:
- Jacek Pospychala wprowadził świetne zmiany do widoku Error Log. Po pierwsze dodał możliwość filtrowania, a po drugie dodał grupowanie informacji według sesji:

- W edytorze punktów rozszerzeń (ang. extension points) można teraz łatwo zmieniać ich nazwy

- Pojawił się specjalny edytor do tworzenia pomocy kontekstowej:


- W konfiguracji uruchomienia (ang. launch configuration) dla aplikacji Eclipse (ang. Eclipse application) na zakładce Plug-ins można teraz w łatwy sposób filtrować dostępne wtyczki:

- Punkty rozszerzeń mogą być oznaczane jako wewnętrzne (ang. internal):
Każdy kto będzie chciał z takiego punktu skorzystać zostanie ostrzeżony, że ten punkt rozszerzeń został oznaczony jako wewnętrzny.
Pełną listę zmian znajdziecie tutaj.
Zatem uwaga - Eclipse Ganymede nadchodzi!
niedziela, 8 czerwca 2008
Eclipse Modeling Framework (EMF), część IV
Wczoraj się zorientowałem, że nie skończyłem serii postów na temat EMF'a, nadróbmy więc zaległości i zobaczmy w jaki sposób uruchomić wygenerowany edytor.
- Klikamy w menu Run->Open Run Dialog (lub Run Configurations w Eclipse 3.4). W nowym oknie na liście po lewej stronie zaznaczamy Eclipse Application i klikamy przycisk New launch configuration:

- Na koniec klikamy przycisk Run. Powinna nam się otworzyć nowa instancja Eclipse’a.
- W nowej instancji tworzymy nowy projekt (menu New->Other->Project). Podajemy jego nazwę i klikamy Finish. W widoku Project Explorer (jeśli nie mamy otwartego tego widoku to otwieramy go w menu Window->Show View->Other) klikamy prawym przyciskiem myszy na nowy projekt i wybieramy New->Other->Example EMF Model Creation Wizard->Familytree Model.

- Następnie podajemy nazwę. Na ostatniej stronie kreatora z górnej listy rozwijalnej wybieramy Family Tree jako korzeń naszego modelu i klikamy Finish.

Powinien otworzyć nam się edytor dla naszego modelu. - Klikając na węźle Family tree możemy dodawać elementy stworzonego przez nas modelu i wiązać je ze sobą w widoku Properties (menu Window->Show View->Other->General). Na przykład możemy stworzyć obiekty Family oraz Female. A następnie we właściwościach obiektu Family jako Mother możemy podać dopiero co stworzony obiekt Female.

- Na koniec zobaczmy jeszcze jak zapisana jest dopiero co edytowana przez nas instancja naszego modelu. Klikamy prawym przyciskiem na naszym nowym pliku i wybieramy Open With -> Text Editor.
Jak widzimy model został zapisany do XML'a
piątek, 6 czerwca 2008
Jak wyczyścić swoje źródła?
Jakiś czas temu jeden ze znajomych zapytał mnie, czy można w Eclipsie automatycznie dodać nawiasy do instrukcji warunkowych i pętli, tak gdzie tych nawiasów nie ma. Chwilę się zastanowiłem i powiedziałem, że chyba nie da rady. Kilka dni później natknąłem się na opcję Source->Clean Up... jakie było moje zdziwienie, że można tam nie tylko dodać rzeczone nawiasy, ale także na różne sposoby zmienić/wyczyścić swój kod.
Jak to działa? Otwieramy sobie wybraną klasę i udajemy się w menu głównym do Source->Clean Up...
Pokaże nam się kreator, w którym będziemy mogli wybrać, czy chcemy korzystać, z któregoś z już zdefiniowanych profili, stworzyć własny profil na potrzeby chwili (2), czy też zdefiniować własny profil, z którego będziemy mogli korzystać później.
Żeby szybko zobaczyć, jakie mamy możliwości, wybieramy drugą opcję (Use custom profile) i klikamy przycisk Configure.
W nowym oknie ukaże nam się kilkanaście opcji podzielonych na kilka zakładek, w zależności od kategorii. Spójrzmy na kilka ciekawych elementów (zauważcie, że przy każdym naszym wyborze zmienia się kod umieszczony w panelu po prawej stronie):
- Wspomniana już możliwość dodania nawiasów do instrukcji warunkowych i pętli
- Konwersja pętli na wersję "foreach" (jast na to jakaś dobra nazwa?)
- Dodanie słowa kluczowego final tam gdzie jest to możliwe (i gdzie sobie tego życzymy)

- Usunięcie nieużywanych zmiennych lokalnych
- Usunięcie niepotrzebnych rzutowań

- Dodanie brakujących adnotacji
- Dodanie niezaimplementowanych metod z nadklas lub interfejsów
















