wtorek, 5 kwietnia 2011

Podświetlanie zmian kodu w Eclipsie

Jeśli chodzi o preferowane środowiska programistyczne, to nie jestem ani zagorzałym fanem Eclipse, ani NetBeans'a. Każde z nich ma swoje wady i zalety, każde sprawdza się inaczej w różnych zadaniach. Muszę w końcu na poważnie usiąść do poznawania IntelliJ IDEA i może wtedy sprawa ulubionego IDE się wyjaśni. Tymczasem chcę opisać pewną funkcjonalność, do której się przyzwyczaiłem w NetBeans'ie, a której mi trochę brakowało w Eclipsie. Pokażę również, jak można ją aktywować w tym drugim środowisku.

Funkcjonalność o której wspomniałem to zaznaczanie fragmentu kodu, który został zmodyfikowany (lub dodany). W NetBeans'ie wyglada to tak:


Po lewej stronie, między numeracją linii a kodem, widzimy dwa paski: niebieski i zielony. W Eclipsie trochę mi tego brakowało, ale ostatnio poszukując rozwiązania czegoś tam, przypadkiem trafiłem na potrzebną mi opcję. Podświetlanie zmian w kodzie można włączyć w Preferences w Quick Diff. Najlepiej śledzić zmiany w stosunku do repozytorium, w moim przypadku SVN'a.


Przyda się jeszcze tuning kolorów. Te z NetBeanas'a całkiem mi pasują. Zmiany są kolorowane na (RGB) 160 200 255 (#A0C8FF), a dodane linijki na (RGB) 150 255 150 (#96FF96). Wprowadzając te kolory do Eclipse, okazuje się, że są one trochę inne niż w NetBeans'ie (słabiej widoczne, zlewają się z szarym paskiem).


Nie wiem czemu, ale środowisko (Eclipse Galilieo) trochę inaczej wyświetla / interpretuje te kolory. Po kilku eksperymentach z wartościami RGB, doszedłem do zbliżonych kolorów. Zmiany należy ustawić na 18 119 255 (#1277FF), a dodane fragmenty na 0 255 0 (#00FF00). Efekt jest następujacy.


No już lepiej :) Co prawda, już na tym prostym przykładzie widać, że te dwa środowiska, w różny sposób interpretują wprowadzane zmiany, czasami trochę błędnie wyświetlając, co zostało zmienione, a co dodane. No ale trudno. Ważne, że teraz widać, w której części pliku się coś zmieniło i czy dane zmiany są nam dalej potrzebne. Mi to pomaga przeglądając zmiany przed commitem.

7 komentarzy:

  1. Ostatnio wróciłem do Eclipsa i też strasznie mi tego brakowało, dzięki za wpis! A co do sprawdzania zmian przed commitem i po update - mi bardzo pomaga funkcja Annotate, ale nie byłem w stanie do niej skrótu klawiaturowego przypisać zarówno w Galileo jak i Helios (skrót był ale nie aktywował funkcji). No i Eclipse nie trzyma informacji z annotate w pamięci, przez co za każdym razem ściąga pełną historię pliku z repo, a to trwa (zupełne przeciwieństwo zachowania w IntelliJ IDEA).

    OdpowiedzUsuń
  2. @Łukasz No rzeczywiście, a pomocą Annotate (Team -> Show Annotation) również można zobaczyć co się zmieniło. Ponadto perspektywa Team Synchronizing może być pomocna, zależnie kto co lubi.
    Ciesze się, że wpis się komuś przydał :)

    OdpowiedzUsuń
  3. @Marcin - perspektywa Team Sync jest dobra, ale trochę wybija z workflow. Poza debuggingiem osobiście bardzo nie lubię przełączać się między perspektywami. Sposób śledzenia zmian w IDEA podoba mi się najbardziej - annotacje pod skrótem klawiaturowym i widok, który można chować automatycznie z pełną historią projektu / pliku automatycznie aktualizująca się (niestety nie w momencie otwierania projektu, ale to już jest szczegół).

    OdpowiedzUsuń
  4. @Łukasz Muszę znaleźć w końcu trochę czasu, aby usiąść do IDEA i zobaczyć to wychwalane niemal pod niebiosa środowisko. Licencje już mam :)

    OdpowiedzUsuń
  5. Taka niby prosta rzecz a cieszy. Dzieki wielkie za wpis ;)

    OdpowiedzUsuń
  6. Bardzo użyteczne Marcinie. Właśnie mi się bardzo przydało w pracy. Wszedłem w serwis, nad którym pracowałem tydzień temu i którego jeszcze nie skończyłem z powodu innych zajeć i od razu widzę na zielono, które metody dotałem. Super sprawa.

    OdpowiedzUsuń
  7. Cieszę się, że się przydało :)

    OdpowiedzUsuń