Jak być może niektórzy stali Czytelnicy tego blogu kojarzą od czasu do czasu zdarza mi się napisać kilka linii kodu w języku PowerShell.
Ponieważ ostatnimi czasy zdarza mi się to coraz częściej i na coraz większą skalę, postanowiłem wreszcie zabrać się za recenzję edytora, którego używam do tego niecnego celu.
Edytor nazywa się PowerGUI Script Editor i został opracowany przez firmę Quest Software w 2007 roku. Od tamtej pory dorobił się numeru wersji 3.8.0.129 (to wersja z kwietnia 2014 roku) a także zmienił właściciela. Nie znam szczegółów, ale wygląda na to, że firma Quest stała się częścią Dell-a. W związku z tym oryginalny, "stary" link do pobrania PowerGUI (czyli http://powergui.org) przerzucał przez dość długi czas na podstronę https://software.dell.com, która jednak przestała działać 1 października 2017, a http://powergui.org przekierowuje teraz bezpośrednio na https://www.quest.com/, gdzie jednakowoż nie da się znaleźć informacji o PowerGUI. Na stronie samego Dell-a jest za to mnóstwo informacji o PowerGUI, ale znalezienie linku do pobrania za pomocą lokalnej wyszukiwarki jest niemożliwe.
Udało mi się natomiast znaleźć jakiś blog prowadzony przez rosyjskiego programistę Dmitrija Sotnikowa, który zamieścił tam link do pobrania PowerGUI ze strony Quest.com. Link to: http://community-downloads.quest.com/powergui/Release/3.8/PowerGUI.3.8.0.129.msi (a adres blogu, na którym ten link znalazłem, to: https://dmitrysotnikov.wordpress.com/2015/01/30/download-links-for-powergui-and-qad-cmdlets/)
Jeżeli nie przepadacie za linkami ze stron rosyjskich programistów, tu link alternatywny do pobrania PowerGUI: http://www.softpedia.com/get/Programming/File-Editors/Quest-PowerGUI.shtml (osobiście jednak wolę ten pierwszy link, bo Softpedia lubi czasem doklejać własne niespodzianki do pobieranych instalek).
Doklikałem się również do smutnej informacji, że PowerGUI już nie jest dalej rozwijany - wygląda więc na to, że wersja 3.8.0.129 jest ostateczna. Szkoda.
Jak widać sprawa jest nieco zagmatwana, ale nic nie szkodzi. Najważniejsze, że program jest darmowy i bardzo, bardzo dobry.
Główną zaletą aplikacji jest prostota. W odróżnieniu bowiem od takich kombajnów jak Eclipse czy Visual Studio, które są narzędziami "do wszystkiego", a więc siłą rzeczy mają nieprzyzwoicie dużo opcji i okienek, tutaj mamy edytor do JEDNEGO, konkretnego języka programowania, który jest maksymalnie zoptymalizowany do tego właśnie języka.
Jeśli chodzi o interfejs użytkownika, mamy okno główne do edycji kodu, okienko ze zmiennymi oraz okno konsoli PowerShell:
Jak widać PG (tak będę pisał zamiast PowerGUI, bom leniwy) ładnie koloruje składnię PowerShell, dzięki czemu nasz skrypt jest bardziej czytelny.
Między okienkami kodu, zmiennych i konsoli przełączamy się kombinacją Ctrl-1 / Ctrl-2 / Ctrl-3. łatwo zapamiętać. Z kolei klawisz F12 przenosi nas do definicji aktualnie podświetlonej procedury, dzięki czemu unikamy żmudnego wyszukiwania.
Menu są okrojone do minimum, ale jest to niezbędne minimum: niczego im nie brakuje. Na przykład tu widzimy całą gamę narzędzi do odpluskwiania kodu:
W czasie pracy z PG "czuć" jego lekkość. Nic się nie przycina (co ma miejsce w przypadku większych kombajnów), aplikacja chodzi prawie tak szybko jak systemowy Notatnik.
Najciekawszą według mnie opcją PG jest możliwość skompilowania skryptu PowerShell do postaci wykonywalnej czyli pliku .exe. Możemy dzięki temu "wyprodukować" pełnowartościową aplikację, a nie tylko "jakiś tam skrypt". Oczywiście nie ma cudów - "pod spodem" takie .exe nie robi nic innego jak uruchomienie PowerShell-a i wykonanie naszego skryptu - no ale bajer jest.
Z PG pracuję już prawie dwa lata, próbowałem w międzyczasie różnych innych edytorów kodu PowerShell i za każdym razem wracałem na kolanach do PG z prośbą o wybaczenie.
To by było w zasadzie na tyle jeśli chodzi o samą recenzję. Na koniec jeszcze szybciutki przegląd alternatywnych edytorów PowerShell:
- PowershellISE: darmowy, standardowo wbudowany w Windowsa edytor kodu. Nie ma możliwości podglądania zmiennych (ale są wtyczki, które tę opcję dodają). Nie potrafi automatycznie wykryć, że inny proces zmienił aktualnie edytowany skrypt. Ogólnie daje radę, ale jednak to już nie ta sama klasa.
- Powershell Studio: komercyjny (prawie 400 USD za licencję) produkt typu "kombajn". Nie używałem, z opisów wygląda nieźle, ale jednak trzeba zapłacić.
- NotePad++ z dodatkiem PowershellSyntaxHighlighter: może nie "pełnowartościowe" środowisko programistyczne, ale przynajmniej ładnie pokoloruje składnię.
Reasumując: jeżeli chcesz zacząć swoją przygodę z PowerShell, PG jest dobrym wyborem. A jeżeli (co się prędzej czy później zdarzy) PG przestanie w pewnym momencie być kompatybilny z nowymi wersjami języka PowerShell - trzeba będzie się przerzucić na coś innego.
Test nowego panelu komentarzy…
Osobiście nie używam Twitka, ale ściągam sobie na feedly te 3 kanały, które mnie ciekawią 🙂
Taa… to miało być do następnego Twojego wpisu, o tego
Domyśliłem się 🙂
WAT? Oczywiście że jest — poprzez break pointy (F9)
Widzisz, to jakbyś napisał, że w każdym aucie można sobie sprawdzić kąt wychylenia kierownicy, tylko trzeba podpiąć OBD we właściwe gniazdo. W PowerShell można wszystko zrobić nawet z wiersza poleceń, bez ŻADNEGO środowiska programistycznego, wystarczy wiedza i samozaparcie. Chodziło mi o to, że nie ma wbudowanego okienka z “podglądaczem” zmiennych, dostępnego w prosty sposób dla końcowego użytkownika (w Powershell ISE są standardowo tylko trzy okienka: Script, Command i Output). Ale zauważ też, że dopisałem potem, że jednak można – tylko trzeba dodać odpowiednią wtyczkę.