W tym artykule opisałem działanie mechanizmu zakładek w IntelliJ. Jest to temat dla osób bardziej zaawansowanych, które lubią ułatwiać sobie codzienną pracę jeszcze bardziej.
Ten artykuł jest trzecią częścią serii skrótów IntelliJ, inne artykuły z tej serii możnesz znaleźć klikając w linki poniżej:
- 10 Skrótów w IntelliJ, które zaoszczędzą Ci czas
- Nawigowanie w IntelliJ, czyli 6 skrótów które trzeba znać
- Jak debugować w IntelliJ? 8 skrótów, które Ci pomogą
Po co używać zakładki?
W moim odczuciu zakładki są dla nas punktem odniesienia – być może będziemy potrzebowali odwołać się do danego miejsca w przyszłości. Weźmy przykład z życia. Czytasz książkę i widzisz fragment w którym jest coś interesującego czy kontrowersyjnego. Wiesz, że będziesz potrzebował lub chciał wrócić do tego miejsca, więc co robisz? Bierzesz zakładkę, wsadzasz na tej stronie na której to przeczytałeś i tyle. Za kilka dni/miesięcy/lat nie musisz się domyślać gdzie to było – wystarczy, że przeglądniesz zakładki (o ile jeszcze tam będą).
I tak samo jest z kodem. Mamy różne codebase’y – jedni mniejsze drudzy większe. Niemniej jednak (chyba) każdy kod posiada takie miejsca, które są warte naszej uwagi (w przyszłości bliższej lub dalszej). Używamy zakładek po to żeby mieć punkt odniesienia w przyszłości. Wiesz, że będziesz chciał wrócić do danego miejsca bo coś tam można zrefaktorować? Możesz ustawić zakładkę (choć tutaj może lepiej dać TODO?). A może bardzo często odwołujesz się do konkretnego miejsca w kodzie? Zakładka. Albo często skaczesz po drzewku projektu między pakietami imlementacji i testów? Zakładka.
Kiedy stosować, a kiedy nie?
Moim zdaniem zakładki warto stosować wyłącznie kiedy wracamy do danego fragmentu dostatecznie często. Jako fragment mam tu na myśli zarówno konkretne miejsce w kodzie z dokładnością do linii kodu ale również jakiś pakiet w strukturze projektu.
Nie warto stosować zakładek kiedy tylko myślimy a może przyda mi się to za jakiś czas. I też żebyś nie zrozumiał(a) mnie źle, to wcale nie oznacza, żebyśmy nie robili zakładek kiedy tak pomyślimy. Chodzi o to, żeby po jakimś czasie zwalidować czy faktycznie ta zakładka jest nam potrzebna. W skrócie – żebyśmy nie robili śmietnika.
Jak używać?
Częściowo opisałem to w ostatnim wpisie o skrótach nawigacyjnych w intelliJ (punkt 4). Ale, że traktujemy ten wpis jako osobny byt to pozwolę sobie na przypomnienie i rozszerzenie.
Zakładki dzielimy na dwie kategorie:
Zakładki zwykłe:
- możemy stworzyć ich tyle ile nam się podoba
- aby się do nich odwołać należy otworzyć okno z zakładkami (Shift + F11)
- do stworzenia zakładki używamy skrótu F11 w dowolnym miejscu (okno projektu / linia kodu) – tam, gdzie znajduje się kursor, tam zostanie utworzona zakładka
- pojawia nam się 'ptaszek’ – jest to wyznacznik tego, że zakładka została utworzona
Tutaj utworzyłem trzy oddzielne zakładki. Dwie w strukturze projektu (jedną na konkretnym pakiecie, drugą na klasie) oraz jedną w konkretnej linii klasy FrequencyImpl.
A tak prezentuje się widok zakładek kiedy odpalimy okno z zakładkami (Shift + F11)
Zakładki numerowane:
- możemy stworzyć maksymalnie 10
- do stworzenia używamy skrótu Ctrl + Shift + <numer zakładki>
- gdzie <numer zakładki> to liczba od 0 do 9
- pojawia nam się kwadracik z numerkiem – jest to wyznacznik tego, że zakładka została utworzona
- możemy się odwołać przez otwarcie okna z zakładkami (Shift + F11) lub skrót (Ctrl+ <numer zakładki>)
Tak jak w poprzednim przykładzie. Trzy oddzielne zakładki – tym razem numerowane.
Dodatkowo każdą z zakładek (czy to numerowana, czy zwykła) możesz nazywać. Wystarczy, że w oknie widoku zakładek wciśniesz przycisk markera edycji lub użyjesz skrótu Ctrl + Enter. Pojawi Ci się okno gdzie możesz nazwać swoją zakładkę.
Dobre praktyki:
- trzymaj jak najmniejszą liczbę zakładek – im więcej masz zakładek, tym większe prawdopodobieństwo, że rzadziej będziesz ich używał.
- czyść zakładki regularnie – jeżeli masz zakładkę, której nie używasz przez kilka dni, to ją wywal. W przeciwnym razie będzie tworzył Ci się śmietnik.
- używaj numerowanych zakładek do oznaczenia kluczowych komponentów – patrz akapit niżej, tam opisuję co to oznacza
Jak ja używam zakładek
Wychodzę z założenia, że mniej znaczy więcej. W tym kontekście, mniej zakładek = ich większa używalność. Używam 3 zakładek numerowanych, które są w strategicznych miejscach w projekcie. Jedna na roocie pakietów z testami, druga na module który najczęściej modyfikuję i trzecia na module frontu. Są to trzy stałe i niezmieniane u mnie zakładki. I tak też polecam zrobić. Każdy projekt ma swoje komponenty do których najczęściej się odwołujemy (root tego komponentu) – postaw tam zakładkę i już. W przyszłości, jak tylko będziesz chciał podpatrzeć na strukturę to wciskasz zakładkę i jesteś.
Dodatkowo używam jeszcze zwykłych zakładek, ale to raczej sporadycznie. Jak pracuję nad jakimś ficzerem i widzę, że co jakiś czas odwołuje się do danej klasy, to w końcu stawiam tam zakładkę. Zazwyczaj po skończonym zadaniu od razu ją wywalam. To jest ważne! W przeciwnym wypadku można zrobić sobie śmietnik i minąć się z celem oraz korzyściami jakie dają nam zakładki.
Podsumowanie
Zakładki są przydatnym elementem, ale trzeba nauczyć się z nich korzystać. Moim zdaniem poprawiają komfort pracy bez względu w jakim celu używam IntelliJ. Jedyne, co należy zrobić, to nauczyć i przyzwyczaić się do ich używania. Jestem pewny, że w każdym projekcie znajdą się miejsca gdzie zakładki można umieścić i faktycznie dadzą wartość!
Pamiętaj, testuj to, co działa najlepiej dla ciebie! Moje sugestie traktuj jako dobre porady – możesz wdrażać u siebie i testować czy działa. Jeżeli będzie działać to super, a jeżeli nie to może należy zastosować jakieś modyfikacje? Powodzenia.
Uwielbiam takie artykuły! 😉 Zakładki oczywiście znam i używałem jednak przeczytałem całość i dziś przećwiczyłem ponownie wszystko. Zabrakło mi tylko wzmianki o dwóch fajnych rzeczach pasujących do zakładek więc spieszę od razu o tym donieść 🙂 Wiem, że zakładki to takie podejście na zaznaczanie miejsc w kodzie na nieco dłuższy czas (właśnie np. pare dni) ale jak coś potrzebujemy na teraz, kodując silnie w danym dniu to: 1. Będąc w jednym pliku dobre jest przeskakiwanie do następnej / poprzedniej zakładki (Next/Prev Bookmark) – takie szybkie skakanie w nieco większym pliku gdy ciągle w nim pracujemy. Szkoda tylko że InteliJ nie… Czytaj więcej »
Hej. Dzięki za pozytywny komentarz.
Powiem szczerze, że nigdy nie stosowałem skakania na zasadzie next/prev bookmark. Wypróbuję i jak się sprawdzi to zrobię edycję wpisu 🔥🔥.