Wbrew pozorom, wpis ten nie jest skierowany tylko i wyłącznie do początkujących programistów. Spotkałem już kilka osób, które piszą w PHP od kilku lat i do dzisiaj wykorzystują do tego celu tzw. edytory programistyczne – EditPlus, Notepad++, PSPad itp. Żeby było jasne – wcale nie mówię, że to źle. Sam używam Notepada++ do szybkich poprawek czy też małych skryptów. Jednak przy kilku(nastu) godzinach pracy z kodem dziennie, IDE staje się narzędziem bardzo ułatwiającym pracę.
Wracając do pełnoetatowych programistów PHP. Kiedy pytam takie osoby, dlaczego nie używają IDE to odpowiedź brzmi zazwyczaj:
bo to wielka wolna kobyła.
Jest w tym stwierdzeniu trochę prawdy, aczkolwiek zależy to od IDE, a raczej języka, w jakim zostało napisane.
Drugą grupą osób są ludzie, którzy poużywali trochę IDE, a potem wrócili do swoich edytorów, bo nie widzieli różnicy, a chodziło to wolniej. Problem w tym, że osoby te używały IDE jako edytora programistycznego, a nie jako IDE.
Wydaje mi się, że taki stan rzeczy wynika z następującego faktu – spora część ludzi nie wie co takie IDE potrafi.
Poniżej zawarłem listę funkcjonalności najczęściej spotykanych w zintegrowanych środowiskach programistycznych – z punktu widzenia programisty PHP. Abstrahuje od konkretnego produktu, ponieważ większość narzędzi, z którymi się spotkałem udostępniała wymienione niżej funkcje. Tak więc zaczynamy! Wartym odnotowania jest fakt, że edytory programistyczne także mogą posiadać niektóre z wymienionych funkcjonalności.
Podział na projekty
W IDE operujemy zazwyczaj pojęciem projektu – zestawu klas i komponentów, które są częściami jednej aplikacji (aczkolwiek nie jest to obligatoryjne). W ramach plików projektu znajdą się w takim razie pliki .php
, .(x)html
, obrazki, skrypty JavaScript czy też arkusze stylów. Dlaczego wspominam o tak prostej rzeczy – ponieważ wiele funkcjonalności opiera się właśnie na indeksowaniu zawartości tych plików.
Szybkie otwieranie plików projektu
IDE (a także niektóre edytory) udostępniają funkcję, którą w skrócie można nazwać: „Przejdź do danego pliku”. Funkcja ta nazywana jest różnie: Go To File, Go to Resource, ale jej działanie jest bardzo podobne. Wciskamy prostą kombinację klawiszy (np. Ctrl + Shift + O
) i otwiera nam się małe okno z polem wyszukiwania na górze oraz listą plików poniżej. I tak, w miarę wpisywania kolejnych liter danej nazwy zostają tylko pliki pasujące do wpisanego wzorca. Następnie wystarczy wybrać plik, nacisnąć Enter i plik zostaje otwarty.
Lista plików pasujących do podanego wzorca
Przejście do deklaracji klasy/funkcji/metody
Wiele razy zdarzała mi się sytuacja, że patrząc na cudy kod prosiłem kogoś o pokazanie definicji użytej klasy/metody/funkcji. Co ta osoba wtedy robiła? Chwytała myszkę i nawigowała po drzewie projektu w poszukiwaniu tej pliku zawierającego wspomnianą definicję. W przypadku klas sytuacja była zazwyczaj prostsza – zakładając, że plik miał nazwę odpowiadającą nazwie klasy. Niestety, czasami poszukiwane były funkcje, a wtedy byłem świadkiem przeglądania kilku plików typu: basic_functions.php
czy też html_helpers.php
i wyrazu twarzy pt. „gdzie to było?”. Niektóre z osób używały wyszukiwania ciągu tekstowego w plikach. Co ciekawe, sytuacja takie zdarzały się wśród ludzi korzystających z IDE jak i z edytorów programistycznych. Jednak dzięki indeksowaniu zawartości plików projektu, IDE rozwiązują ten problem w prosty sposób – udostępniając polecenie: Go to Declaration. Naciśnięcie jednej kombinacji klawiszy automatycznie przenosi nas do odpowiedniego pliku i poszukiwanej deklaracji. Osobiście, często korzystam z tej funkcjonalności podczas pracy z ZF – kiedy chce się dowiedzieć jak działa dana metoda, błyskawicznie przechodzę do jej deklaracji i po krótkiej analizie kodu moja ciekawość zostaje zaspokojona :) Warto zauważyć, że funkcjonalność ta nie jest ograniczona tylko do plików PHP – działa tak samo w przypadku skryptów JavaScript czy też w niektórych IDE w przypadku CSS (przejście z kodu HTML do definicji klasy w innym pliku .css
).
Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...
Zwiń
Czytaj na blogu autora...