Edytory tekstu. Narzędzia do kodowania, cz.1.

Wśród programistów znajdziemy zarówno zwolenników edytorów tekstu, jak i zintegrowanego środowiska programistycznego (IDE). Postanowiliśmy zatem przybliżyć najlepsze na rynku narzędzia z obydwu kategorii. Na początek pochylamy się nad edytorami. Wybraliśmy dla Was 6 narzędzi, na które warto zwrócić uwagę.

Edytor tekstu to nic innego, jak program, który pozwala na edycję i tworzenie plików, ale również na ich podgląd. Zaletą tych narzędzi jest duża elastyczność oraz możliwość szybkiej edycji kodu.

1. Edytor VIM

Ten edytor jest narzędziem wieloplatformowym (Windows, GNU/Linux, Mac OS, BSD, Solaris). To tak naprawdę klon edytora Vi (stąd jego nazwa: Vi improved). VIM został wymyślony przez Holendra - Brama Moolenaara i jest rozprowadzany na licencji charityware (udostępniany za darmo z prośbą o przekazanie datku na cele charytatywne).

Gdy nie jest skonfigurowany edytor może nie zachęcać do użytkowania ze względu na swój ubogi wygląd, nieestetyczny tekst. Ma za to bardzo duże możliwości i pozwala błyskawicznie edytować pliki. Tu przychodzą z pomocą liczne wtyczki, które z niepozornego edytorka pozwalają zrobić prawdziwy kombajn.

Program ma opinię mało przyjaznego dla początkujących. Nie przez przypadek w środowisku programistów funkcjonują różne żarciki i sucharki na temat VIM-a, np. w stylu:

Jak wygenerować losowy ciąg znaków? Kazać użytkownikowi Windowsa wyjść z VIM-a.

Znajomość różnych skrótów klawiszowych jest tutaj kluczowa. Z drugiej strony opinia ta jest nieco krzywdząca, bo naprawdę ten edytor nie jest aż tak trudny do nauczenia się. Jasne - może nie będziesz po dwóch godzinach power userem, ale pewnie zaczniesz się po nim w miarę sprawnie poruszać.

By tak się stało, trzeba się zapoznać z jego trybami: normal (można się swobodnie poruszać po tekście), insert (wpisywanie tekstu), visual (zaznaczanie fragmentu tekstu) i command-line (wprowadzanie komend). Na szczęście program dysponuje bardzo szczegółową dokumentacją. Ze startem pomoże na pewno projekt VIM Bootstrap, który pomaga wygenerować config pasujący języków programowania w jakich piszemy.

To prawda, że opanowanie VIM-a do perfekcji zajmie wiele godzin. Jednak nagrodą jest bardzo wygodne narzędzie o dużych możliwościach.

2. Notepad++

Notepad++ to jeden z najbardziej znanych edytorów. Słyszało o nim również wiele osób, które w ogóle nie zajmują się kodowaniem. Z pozoru wygląda jak zwykły notatnik, ale nie dajcie się zwieść pozorom. Notepad++ to narzędzie, które zajmuje mało miejsca, jest szybkie, a do tego pozwala na bardzo wygodną pracę z plikami. Edytor jest darmowy (licencja GPL) i działa na platformie Windows.

Notepad++ to nie zwykły edytor, ale bardzo dobre narzędzie programistyczne, w dodatku niezwykle popularne. Umożliwia kolorowanie składni, obsługuje bardzo wiele języków programowania, pozwala również definiować nowe języki. Edytor posiada funkcję zwijania kodu, a do tego można korzystać z bardzo bogatej biblioteki pluginów, które ogromnie poszerzają możliwości programu (można również pisać własne) lub tworzyć dodatkowe funkcjonalności w JavaScript. Wygodnym rozwiązaniem jest także automatyczne zapamiętywanie ostatnio używanego pliku. Dużą wadą programu Notepad++ jest brak wersji na inne platformy poza Windows. Pewnym rozwiązaniem jest odpalanie go np. na Wine.

3. GNU Emacs

Emacs to bardzo zaawansowany edytor tekstu, który pierwotnie był jedynie zestawem makr dla edytora TECO. Dopiero druga wersja stała się samodzielnym oprogramowaniem. Emacs można uruchomić na dowolnej platformie, co sprawia, że jest to bardzo uniwersalne narzędzie.

Złośliwi powiedzą, że

Emacs to bardzo dobry system operacyjny, w którym niestety brakuje dobrego edytora

Jednak my radzimy się nie przejmować hejterami ;)

Edytor może być używany zarówno w trybie tekstowym, jak i okienkowym, pozwala na bardzo dużą konfigurację. Emacs posiada tryby kontekstowe wielu języków programowania, używa również własnego wewnętrznego języka (wersja Lispu). Dzięki temu użytkownik może definiować nowe funkcje i przypisywać je do wybranych klawiszy. Edytor charakteryzuje się bardzo intuicyjnym systemem skrótów klawiszowych, koloruje składnię języków, pozwala na tworzenie makr, aby zautomatyzować zadania, dobrze radzi sobie z dużymi plikami, pozwala na wygodną pracę z wieloma dokumentami jednocześnie. Każdy z nich jest otwierany w tzw. buforze. Niestety, dużą wadą jest to, że bufory nie zamykają się samodzielnie i należy nimi rozsądnie zarządzać.

4. Sublime Text

Co prawda Sublime Text rzadko może pochwalić się aktualizacjami, ale doczekał się kilku wersji. Ten wieloplatformowy i bardzo rozbudowany edytor został napisany w C++ i Python. To narzędzie jest często traktowane jako zamiennik programu Notepad++.

Duży nacisk położono tu na wygodę pracy. Programista ma pod ręką wszystkie niezbędne funkcje, co znacznie ułatwia kodowanie i edytowanie plików. Sublime Text koloruje składnię najpopularniejszych języków, a karty pozwalają na jednoczesną pracę z wieloma plikami. Edytor posiada funkcję autozapisu, autouzupełniania składni i nawiasów, umożliwia sprawdzanie pisowni i automatyzację często wykorzystywanych czynności. Sublime Text pozwala również na graficzny podgląd całego pliku. Bardzo znaną funkcjonalnością Sublime'a jest edytowanie za pomocą wielu kursorów na raz. Edytor ma dużo funkcji i skrótów klawiszowych, posiada szeroki wybór motywów i pluginów, które można też pisać samodzielnie. Na naszym blogu mamy nawet wpis o tym jak to można zrobić.

Niestety, program jest płatny.

5. Atom

Atom to edytor tekstu wieloplatformowy, który można również rozszerzyć o dodatkowe funkcje, używając do tego JavaScript. Narzędzie zostało przygotowane przez GitHub i nieco przypomina omawiany wcześniej Sublime Text. Atom jest darmowy, można go zintegrować z GIT, a nawet dostosowywać wygląd edytora za pomocą arkuszy CSS. To głównie załuga tego, że Atom jest napisany za pomocą frameworka Electron - czyli pod spodem jest zbudowany właśnie z JS, HTML i CSS.

To jest też jego największą wadą - przez użycie Electrona Atom jest ciężki, wolno się uruchamia. Wielu programistów narzekało na wysokie zużycie pamięci. Ekipa z GitHuba aktywnie pracuje nad przebudowaniem edytora by zaradzić tym problemom. Więc jest nadzieja na lepsze jutro!

Poza tym jest kilka plusów - przede wszystkim duża możliwość dostowywania do własnych upodobań. Użytkownicy dostają do dyspozycji bardzo wiele dodatków, a sam program jest bardzo szybko rozwijany dzięki dużej społeczności.

Atom posiada bardzo przejrzysty i estetyczny interfejs graficzny. Edytor jest polecany zarówno twórcom aplikacji desktopowych i webowych, jak i użytkownikom tworzących strony internetowe. Atom koloryzuje składnię, posiada mechanizm autouzupełniania kodu, a zawartość plików można przeglądać w kartach. Edytor pozwala na wygodną pracę z wieloma plikami jednocześnie, do tego umożliwia wygodne wyszukiwanie i zastępowanie fraz. 

6. Visual Studio Code

Na koniec chcemy kilka słów poświęcić edytorowi od Microsoftu. Co ciekawe, program dostępny jest nie tylko na Windows, ale również na Linux i OS X. To przez to, że podobnie jak Atom oparty jest o Electrona. Microsoftowi udało się jednak uniknąć pewnych wpadek i uważany jest za szybszy edytor.

Visual Studio to już w zasadzie takie mini-IDE. Dlatego oprócz kolorowania składni, znajdziemy tu również niektóre funkcje z rozbudowanego Visual Studio jak Code Navigation, IntelliSense, Peek, możliwość debugowanie i Snippety. Edytor posiada również wsparcie dla GIT. Dodatkowo można korzystać z wielu wtyczek, dzięki którym programujemy w wielu popularnych językach. Edytor pozwala na wyświetlanie kilku kart naraz, posiada wbudowany eksplorator plików, a program można bez problemu dostosować do indywidualnych preferencji użytkownika. Dużą zaletą Visual Studio Code jest wysoka intuicyjność obsługi i prostota. Pewnym mankamentem jest jednak problem z formatowaniem języka HTML.

Visual Studio Code jest bardzo dobrym i przemyślanym edytorem. Polecamy go szczególnie początkującym programistom, ponieważ opanują go w miarę szybko, a sam edytor znacznie ułatwi im pracę.

Mimo to, bulldogowe serce jest zdecydowanie z VIM-em. Głównie ze względu na ogromne możliwości i wiele opcji konfiguracyjnych tego edytora.

Teraz zapraszamy do drugiej części artykułu, w której opisujemy IDE.