Už je to nějaký pátek, co jsem narazil na IDE Sublime Text. Moc mě ale nenadchnul a tak jsem si dál používal Komodo IDE, protože jsem byl štastný držitel licence. A taky protože přeučovat se něčemu novému stojí čas a tím i peníze.
Firma ActiveState naštěstí nespí a díky tomu už (bohužel) nemohu svou licenci použít pro nejnovější editor Komodo IDE 7, které přináší spoustu vychytávek. Takže nadešel čas se na Sublime Text podívat blíže a rozhodnout se, komu přispěju svou troškou na další vývoj špičkového editoru.
Hned zprvu musím říct, že jsem ho testoval jen doma na menší práci, protože se nemohu v práci zdržovat kvůli nesžití mých prstů s editorem. Tím jsem nemusel narazit na všechny vychytávky a mouchy. Ale teď už se pustím do popisu, co mě nadchlo a co nikoliv.
V tolika souborech, aby se pra…
Určitě to znáte. Je potřeba něco vyvíjet a jelikož jste „Clean Coder“, máte vše rozdělené do menších souborů. Bohužel se občas stane, že se některé soubory (v různých adresářích) jmenují úplně stejně. Ve svém oblíbeném editoru si otevřete několik souborů, z toho budou tři stejného názvu. Ze začátku víte, který je který (vždyť jste je teď otevřeli a seřadili), ale za chvíli už nevíte. A hledáte a hledáte.
Hodně srandovní je pozorovat kolegu, který má jEdit. Tam se taby rozmísťují do řádků a všelijak to samo přeskakuje.
Přesně tohle se vám se Sublime Text nestane. Po otevření souboru sice zůstane v záložce pouze jméno souboru, ale po otevření jiného souboru se stejným názvem, se u obou záložek zobrazí navíc cesta k souborům, aby se daly od sebe rozeznat.
Horší to je při otevření velmi velkého množství souborů. Sublime Text taby zmenšuje a tím se tam vejde méně a méně textu. Naštěstí nemívám otevřené velké množství souborů, aby by mi to vadilo, ale někomu to vyhovovat nemusí.
Jak se ta metoda jenom jmenuje
Jednou za čas se mi stane, že otevřu soubor a teď si nemohu vybavit, co to vlastně hledám. Tak prostě scrolluju. Až narazím na to, co hledám.
Něco takového se se Sublime Text dělá velmi hezky. A efektně. Po pravé straně je (defaultně, lze vypnout) zobrazen panel s náhledem celého zmenšeného souboru. To jsem ještě nikde jinde neviděl! Výborná věc. Sice to nepoužiju tak často, ale pro fotografickou paměť to je eňo ňuňo.
Jen dva prstíčky tam strčíme…
Poměrně častá situace (u mne) je, že potřebuju jen do některého souboru nahlédnout na nějakou informaci a pak ho zavřít. Případně ještě něco zkopírovat, třeba název objektu, metody, …
V jiných editorech musím soubor opravdu otevřít a pak opravdu zavřít. Se Sublime Text nikoliv. A nevymýšlím si! Po (jednom) kliknutí na soubor (v editoru) se ihned zobrazí. Ale není otevřen v tabu. Pokud překliknu jinam, tak není v žádném seznamu otevřených souborů a musím ho případně znovu najít ve stromové struktuře. V tomto stavu mohu v souboru klidně cokoliv označit a zkopírovat a stále nebude otevřen. Funkčnost je dotažena tak daleko, že jakmile začnu editovat, tak se mi soubor už opravdu otevře. Úžasné.
I don’t care
Když jsem poprvé viděl funkci, která skrývá kusy kódu, které mě zrovna nezajímají, byl jsem nadšen. Dnes už to tolik nevyužám, protože Komodo IDE nabízí dělat si záložky a v rámci jednoho souboru jednou klávesou přes ně skákat. Navíc editory s tím docela otravují – je to designově ošklivé a někdy kód skrývají blbě, že to spíš obtěžuje (například skryjí i následující mezery po metodě). Takže to vypínám.
Sublime Text na to jde dobře a hezky. Šipky pro code folding zobrazuje jen tehdy, když najedu myší nad sloupec s čísly řádků. A kód skrývá tak, jak se má. I když teď bych raději ty záložky. :)
Když jsem u toho zobrazení jen když potřebuju – podobně funguje zobrazování bílých znaků. Většina editorů umožňuje zobrazovat mezery a tabulátory jako nějaké puntíky a šipky. Je to super věc, ale nikdy jsem to neměl zapnuté natrvalo, protože to je s tím velmi nepřehledné.
Sublime Text zobrazí mezery a tabulátory normálně (jako prázné místo). Ale po označení textu se tyto bílé znaky zamění na zmíněné puntíky a čáry. Inteligentní.
Příjemné na pohled
Každý správný editor musí mít podporu schémat. A každý takový editor musí mít minimálně jedno tmavé schéma. Jinak to nikdy nemůže být můj editor. Koukat několik hodin denně do monitoru nelze se světlým pozadím. Prostě bez tmavé ani ránu.
Původně jsem si oblíbil schéma Oblivion v Geditu. Toto jsem se snažil dostat i do Geany. A povedlo se. Potom jsem si oblíbil v Komodu schema Dark, které se mi líbí nejvíce do dnes. Ale až Sublime Text je editor, který má tmavé schema nasteveno defaultně; potěšilo. Dokonce i poměrně hezké. Ale žádný strach – Sublime jich má spoustu na výběr, i netmavých!
Z nuly na sto km/h pod sekundu
Sublime Text je rychlý. A to hodně!
Ještě jsem nikde jinde neviděl takovou rychlost. Možná tak u obyčejného Geditu či Notepadu. Jenže ty neumějí to, co Sublime Text. Ostatní editory se s ním v rychlosti nemohou vůbec srovnávat. Například raději jeden řádek upravím ve vim-u, než abych zapínal Komodo (které startuje třeba 20 sekund). Sublime Text naběhne téměř okamžitě.
Rychlost není pouze při zapínání editoru, ale všude. Například rychlé otevírání souborů, vyhledávání, nahrazování, … A nejlépe s klávesovými zkratkami CTRL+P/R/G. Vyzkoušejte si. ;)
Správný programátor zvládne multitasking
Taková třešnička: pomocí CTRL + klik lze vkládat více kurzorů. Tím lze editovat několik řádků najednou. Taková blbina, ale hezká. Někdy se to může hodit více, než hromadné nahrazování. A hlavně, kdo může v jiném editoru psát více kódu najednou?! :)
Ale…
…i tak to nebude můj hlavní editor. Ani doma, ani v práci. Proč? Inu, protože má i své nevýhody. První, taková drobnost, je správa projektů. Vygeneruje to víc, než jen jeden soubor (dva), a to je moc. Nemám rád, když to zaplní pracovní adresář „kravinami“, které nezačínají tečkou. Akorát se to motá pod nohama. Ani pak nevím, který soubor mám otevřít. A každý projekt se mi otevírá v novém okně.
Dál mi vadí, že si do postranního panelu se seznamem souborů musím adresář ručně přidat. Nemohu listovat z home či z root adresáře, jako v Komodu či Geditu a kdekoliv jinde. To mě docela zklamalo.
Při vyhledávání metod (pomocí zkratky CTRL+G) se sice rychle filtrují výsledky, ale pokud mám v souboru dvě třídy a oba mají metodu se stejným názvem, tak nerozeznám která je která. Komodo IDE to má vyřešeno lépe – výpis zobrazí jako stromovou strukturu a nadřazený objekt neskryje.
(Ne)verzujeme
Zatím to byly drobnosti, které by šly překousnout, ale co mi opravdu vadí a přes co nejede vlak, je podpora verzovacích systémů. V Komodo IDE jsem si zvykl na rychlé zjištění stavu souboru, na rychlý náhled diff-u, na rychlý pohled do historie souboru.
Zde nic takového není. Našel jsem pouze nějaké rozšíření, které umí zjistit stav souboru a zobrazí nějakou konzoli, kterou mohu zavřít tak, že kliknu v menu na otevřít konzoli (páč klávesová zkratka nefunguje) a poté kliknu na zavřít konzoli. Jinak se toho nezbavím. A neumí to commitovat, neumí to zobrazit historii, diff. Nezobrazí stav souboru ikonkou v tabu ani v postranním panelu se seznamem souborů. A to je velká škoda!
Možná, pokud to někdo nestihne udělat přede mnou, bych si zkusil napsat vlastní extension pro Sublime Text pro podporu verzovacích systému. Se stejnou funkčností jako je má Komodo. Pak to bude super.
Takže
Suma sumárum to je velmi povedené vývojové prostředí. Vidím velkou šanci, že opustím mé oblíbené Komodo IDE a přejdu na Sublime Text. Vychytávek je opravdu spousta a určitě ho všem doporučuju minimálně zkusit. Ale já s jeho nasazením ještě posečkám.
Pokud podpora verzování je důležitá i pro vás, pak upozorním, že do 15. března je Komodo IDE 7 ve slevě. Jak nová licence, tak upgrade ze šestky.