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

Pokazywanie postów oznaczonych etykietą skróty. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą skróty. Pokaż wszystkie posty

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.

ś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ę:

piątek, 12 września 2008

Kurs podstawowy, część III

Mam dla Was kolejną część cyklu dla początkujących. Co tym razem? Zaczynamy kodować, korzystamy z widoku Problems, rozwiązujemy pierwsze problemy, poznajemy skrót Ctrl+1, zobaczmy do czego służą wzorce kodu, korzystamy z refaktoryzacji:

ś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)
Warto też pamiętać o skrócie Ctrl + Shift + L, który pokazuje nam listę wszystkich skrótów dotępnych w danym kontekście (np. dla edytora)

środa, 25 czerwca 2008

Eclipse Ganymede już jest!

Tak! Eclipse Ganymede jest już na serwerach, więc można już go ściągać i wypróbować. W nowej wersji Eclipse'a mamy dostęp do 7 specjalnie przygotowanych wersji:

Eclipse dla programistów JEE
Klasyczny Eclipse
Eclipse dla programistów Javy
Eclipse dla programistów C/C++
Eclipse dla programistów wtyczek i RCP
Eclipse z narzędziami do modelowania
Eclipse dla programistów Javy z narzędziami do raportowania

Jeśli chcecie się dowiedzieć, jak bez większych problemów przesiąść się na nową wersję Eclipse'a to polecam artykuł na blogu Michała Margiela, gdzie dowiecie się jak w łatwy sposób wyeksportować oraz zaimportować swoje skróty klawiszowe.

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:
    • enkapsulacja pola:
    • wydzielenie metody
  • 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.
Platform / Workbench
  • 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.
Rozwój wtyczek (projekt PDE)
  • 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:
    • Start
    • Stop
    • Włącz (ang. Enable)
    • Wyłącz (ang. Disable)
  • 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.
Pewnie sporo ciekawych rzeczy przeoczyłem, więc jeśli chcecie zobaczyć wszystkie nowości to warto przejrzeć strony z nowinkami dla kolejnych kamieni milowych Eclipse Ganymede (chwilowo strony mogą nie działać):
Pełną listę zmian znajdziecie tutaj.

Zatem uwaga - Eclipse Ganymede nadchodzi!

poniedziałek, 25 lutego 2008

Wszystkie skróty w jednym miejscu.

Pod koniec października zeszłego roku w poście Zostawcie myszki w spokoju! opisałem 10 najbardziej przydatnych moim zdaniem skrótów klawiszowych w Eclipsie. Dzisiaj w najnowszym poście na swoim blogu pan Suresh Krishna przedstawił zestawienie wszystkich skrótów dostępnych w Eclipse 3.3 wraz z ich opisem. Myślę, że warto mieć taką listę koło komputera i co jakiś czas do niej spoglądać, żeby poznać nowe skróty często znacznie przyspieszające pracę.

wtorek, 23 października 2007

Zostawcie myszki w spokoju! (czyli o skrótach klawiszowych w Eclipsie)

Chyba każdy programista w swoim życiu zawodowym zaczyna doceniać skróty klawiszowe oferowane przez środowisko, w którym pracuje. A w pewnym momencie trudno jest bez tych skrótów klawiszowych się obejść i gdy przychodzi moment, że trzeba zacząć pisać w innym środowisku to czujemy się jak bez ręki. Dlatego też dzisiaj chciałem się z Wami podzielić skrótami klawiszowymi, z których najczęściej korzystam podczas pracy w Eclipsie.

1) Ctrl+3 - skrót wprowadzony w Eclipse 3.3, który znacznie zmienia sposób pracy w Eclipsem! Wypróbujcie go sami, a zaczniecie się zastanawiać, czemu wcześniej nikt czegoś takiego nie wymyślił?! ;) Co daje nam ten skrót? Po wciśnięciu Ctrl+3 pojawia nam sie żółte okienko, które pozwala nam na szybki dostęp do perspektyw, widoków, komend, preferencji itp. - wystarczy tylko zacząć wpisywać hasło związane z tym co chcemy zrobić. Poniżej przedstawiam zrzuty ekranu pokazujące jak mniej więcej to działa:

















Próbowałem nawet wrzucić kawałek filmiku pokazującego, jak to działa w praktyce, ale coś z jakością kiepsko wyszło. No ale jeśli ktoś chce spojrzeć to proszę bardzo (ale żeby nie mówić potem, że nie ostrzegałem;) ):


2) Ctrl+Shift+F pozwala na szybkie formatowanie naszego kodu. Wiadomo, że trzymanie się ogólnie przyjętych standardów kodowania (lub też takich przyjętych w firmie, w której pracujemy) pomaga pisać kod łatwiejszy do analizy i do zrozumienia. Eclipse za pomoca skrótu Ctrl+Shift+F pozwala szybko sformatować kod zgodnie ze zdefiniowanym przez nas standardem kodowania. Oto przykład (po lewej przed formatowaniem, po prawej po zastosowaniu skrótu):










3) Ctrl+Shift+O - pewnie nie raz zdarza nam się, że w klasie mamy niepotrzebnie importowane klasy, w końcu nie chce nam się linijka po linijce kasować importów, prawda? Programiści Eclipse'a pomyśleli o tym i dlatego oddali w nasze ręce skrót Ctrl+shift+O, który usuwa nie używane importy,a także dodaje te których nam brakuje (w przypadku niejednoznaczności zapyta nam się, którą klasę chcemy zaimportować).

4) Ctrl+/ - czy nie byłoby pięknie jednym skrótem zakomentować większy fragment kodu? W Eclipsie jest to proste - wystarczy zaznaczyć wybrany fragment kodu i wcisnąć Ctrl+/. Co jeśli chcemy potem ten fragment kodu odkomentować? Wystarczy tę samą operację powtórzyć.

5) Ctrl+Shift+T - czasami chcemy zobaczyć jak wygląda jakaś klasa, znamy jej nazwę, ale nie do końca wiemy w jakim pakiecie się znajduje, co wtedy? Wciskamy Ctrl+Shift+T i w nowym oknie wpisujemy nazwę żądanej przez nas klasy i wciskamy enter - otworzy się edytor z podaną przez nam klasą.


6) Ctrl+1 - tzw. "quick fix". W edytorach Eclipse'a często możemy spotkać małe żaróweczki wskazujące nam ostrzeżenia lub błędy - jeśli umieścimy nasz kursor na linii, przy której pojawiła się żarówka, i wciśniemy Ctrl+1 pokaże nam się okienko z podpowiedzią co możemy zrobić aby naprawić błąd.

7) Ctrl+PgUp oraz Ctrl+PgDn - pozwalają w łatwy sposób przemieszczać się między otwartymi edytorami

8) Alt+Lewo oraz Alt+Prawo - pozwalają przemieszczać się między tymi miejscami w edytorach, które były ostatnio zmieniane

9) Alt+Góra oraz Alt+Dół - pozwalają przenosić dowolną linijkę kodu (lub cały blok, który zaznaczymy) w górę lub w dół

10) F4 - wyświetla hierarchię wskazanego przez nas typu (wystarczy umieścić kursor w edytorze na wybranym przez nas typie)

To tyle na dzisiaj, kolejna dziesiątka pewnie za kilka dni się pojawi :)

Osoby, które już teraz chciałyby przyjrzeć się dostępnym skrótom i/lub je przedefiniować mogę spojrzeć do preferencji Eclipse'a na zakładkę General->Keys: