PowerShell ISE na sterydach (2.0), część 2

ISESteroids2-2W pierwszej części cyklu o drugiej odsłonie ISESteroids skupiłem się na funkcjonalnościach zawartych we wtyczkach pionowych. Dziś przejrzymy te funkcjonalności dodatku, które ułatwiają poruszanie się w ramach tworzonego skryptu. I choć możliwości te mogą nie przydać nam się przy pisaniu skryptów krótkich, to gdy zamierzamy edytować moduły, skrypty z dużą ilością funkcji, możliwość łatwego odnajdywania poszczególnych elementów może znacznie skrócić czas konieczny do jego rozbudowy/ naprawiania. Sam często błądzę po przydługim skrypcie w poszukiwaniu miejsca, w którym wywołuję funkcję X, lub fragmentu, który dwa dni temu postanowiłem nieco zmienić dodając odpowiednie “TODO”. Z ISESteroids wszystko to jest nieporównywalnie prostsze.

Kto zacz?

Pisząc skrypt często stosuję funkcje. Jeśli potrafię wyodrębnić jakieś logiczne operacje, szczególnie jeśli operacje te są powtarzalne, to kod umieszczam w funkcji. Bardzo lubię też skrypty budować począwszy od pojedynczej “rurki”, której elementy następnie pracowicie tworzę. Zdarza się też, że w ramach skryptu lub modułu korzystam z funkcji pomocniczych. We wszystkich tych przypadkach, w przypadku zmian, przydaje się możliwość szybkiego powrotu do miejsca, gdzie funkcja przeze mnie używana jest definiowana. W ISESteroids mamy odpowiednią funkcję w menu kontekstowym:

ISESteroids-Nawigujemy-Do-Definicji

To oczywiście jedna strona medalu. W drugą stronę “wycieczka” może być równie przydatna. I tu również “sterydy” przychodzą z pomocą: jeśli funkcja jest wykorzystywana w bieżącym pliku, to zawsze mamy nad nią informację o tym. Jeśli jest wykorzystana tylko raz, to kliknięcie na referencję od razu przeniesie nas w to miejsce. Jeśli jednak ta sama funkcja jest stosowana wielokrotnie, to możemy wybrać to użycie, które nas interesuje:

ISESteroids-Wybieramy-Dostepne-Wywowalania

To zdecydowanie upraszcza modyfikację wywołania funkcji po tym, jak zmieniliśmy samą funkcję. Ułatwia też zrozumienie działania bardziej złożonych skryptów, jeszcze zanim je uruchomimy.

Mapa skryptowego świata

W przypadku bardzo długich skryptów docenimy z pewnością mapę skryptu, które daje nam “podgląd”, obejmujący większą całość, wraz z łatwym określeniem jaki fragment właśnie widzimy w oknie skryptu. Dodatkowa możliwość powiększenia fragmentu przez najechanie kursorem sprawia, że możemy w prosty sposób przenosić się pomiędzy sekcjami kodu. Jeśli dodatkowo włączymy rozdzielenie widoku skryptów (uzyskamy ten efekt “ciągnąc” myszką górną krawędź okna ze skryptem), to możemy uzyskać dość ciekawy efekt:

ISESteroids-Wykorzystanie-Mapy-Split-View

Widzimy jednocześnie definicję funkcji, jej wywołanie, pozycję obu w kodzie, bliskiego sąsiada – wszystko to może oszczędzić nam sporo czasu przy pracy nad większymi skryptami.

Zakładki

Kolejny element, dzięki któremu możemy w prosty sposób “wędrować” po dłuższym skrypcie to zakładki. Przypominają one nieco regiony z tą różnicą, że zamiast “zawijać” bloki kodu, oznaczają punkty w naszym skrypcie. Możemy w ten sposób na przykład oznaczyć te bloki kodu, w których zamierzamy coś zmienić, lub w których podejrzewamy buga. Dodawanie zakładek wymaga wprowadzenia komentarza blokowego zaczynającego się od słowa “bookmark”:

ISESteroids-Zakladki

Przycisk odpowiedzialny za zakładki zmienia swoje działanie w zależności od tego, jaki jest obecny stan naszego skryptu: jeśli nie ma w nim żadnych zakładek, zostanie dodana nowa zakładka. W przeciwnym razie uzyskamy listę zakładek.

I to już wszystkie elementy, które ułatwiają nam “wędrowanie” po istniejących skryptach. Następny odcinek cyklu poświęcę tym elementom, które ułatwiają skryptów tworzenie.

~ - autor: Bartek Bielawski w dniu Listopad 1, 2014.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: