Implementátoři tráví psaním kódu spoustu času. Skripty, šablony, dotazy s vlastními výrazy, útržky konfigurace — den implementátora se z velké části skládá z psaní a na editoru, ve kterém píše, záleží víc, než se zvenku zdá. Editor, který mu háže klacky pod nohy — nezvýrazňuje syntaxi, nenašeptává, ke každé zkoušené změně vyžaduje zvláštní nasazení — ukrajuje z každého dne po malých kouscích, které se sečtou do znatelného brzdění. Editor, který s implementátorem spolupracuje — zná datový model, hlásí chyby už při psaní, spouští skripty přímo na místě a živě streamuje logy — tření odstraní úplně a nechá ho soustředit se na skutečný problém. Platforma přichází s tím druhým.
Plnohodnotný editor přímo v prohlížeči je základ. Zvýrazňování syntaxe pro jazyky, ve kterých se píší skripty, pro jazyky šablon, výrazy dotazů i formáty konfigurace. Editace s více kurzory pro změny, které se týkají několika míst najednou. Hledání a nahrazování v rámci souboru i napříč celým prostředím. Ovládání z klávesnice, jaké vývojáři od pořádného editoru čekají. Odsazování, které se neplete do cesty. To jsou vychytávky, po kterých zkušení vývojáři sahají instinktivně; když chybí, editor působí jako hračka, a když jsou, prostě splynou s pocitem „tohle funguje tak, jak čekám“.
Doplňování, které zná váš datový model, je to, čím se editor liší od obyčejného textového pole. Když implementátor napíše odkaz na typ, editor mu nabídne typy definované v aktuálním prostředí. Když sáhne po vlastnosti, nabídky odpovídají skutečným vlastnostem typu, se kterým právě pracuje. Když volá dotaz, jeho parametry se ukáží jako očekávané argumenty. Editor zná schéma prostředí a využívá ho ke zrychlení práce — stejné chytré doplňování, jaké zdomácnělo v desktopových vývojářských prostředích, jen aplikované na programovací plochu samotné platformy. Právě díky tomu se implementátoři nemusí neustále vracet do dokumentace, aby si vzpomněli na přesné názvy vlastností.
Kontrola chyb přímo při psaní zachytí chyby ještě před spuštěním. Syntaktické chyby se v editoru objeví jako červené podtržení, jak implementátor píše. Významové chyby — odkaz na vlastnost, která neexistuje, dotaz, jehož argumenty nesedí s jeho signaturou, nesoulad mezi výrazem a jeho očekávaným výsledkem — se ukáží přímo na místě jako varování, s hláškami dost konkrétními na to, aby navedly k opravě. Celá velká skupina chyb, jejíž odhalení dřív vyžadovalo cyklus ulož–nasaď–spusť–laď, je teď vidět ve chvíli, kdy vznikne. Ušetřený čas se sčítá do slušných čísel a úbytek frustrace je ještě větší.
Vestavěná konzole nechá implementátory spustit jejich kód přímo na místě. Právě upravovaný skript se dá spustit klávesovou zkratkou nebo tlačítkem na liště; výstup se objeví v panelu konzole pod editorem; implementátor vidí, co skript udělal, upraví ho a spustí znovu — a to celé bez opuštění editoru. Při zkoumavém vývoji, kdy implementátor teprve přichází na to, jak přesně určitá data převést, dělá právě tahle smyčka spouštění přímo na místě editor opravdu produktivním, ne jen hezky vypadajícím.
Živé sledování logů proudí runtime logy z prostředí přímo do editoru v reálném čase. Skript, který běží v ostrém provozu — spuštěný automatizací, plánem nebo akcí uživatele — posílá svůj výstup do panelu se sledováním, takže implementátor vidí, co se v živém systému opravdu děje, přímo při práci. Pro hledání příčin problémů v naplánovaných úlohách nebo pro pochopení, jak se skript chová na reálných datech, je tenhle živý pohled k nezaplacení; alternativa v podobě obnovování stránky s logy každých pár vteřin je přesně to tření, které dokáže spolknout celé odpoledne.
Porovnání změn a historie umožní implementátorům vidět, co se změnilo, a vrátit to přímo na místě. Každé uložení vytvoří verzi; editor umí ukázat porovnání aktuálního stavu s kteroukoli předchozí verzí vedle sebe; návrat k předchozímu stavu je jediná akce. Pro chvíle typu „včera to fungovalo, co jsem to změnil“, na které narazí každý implementátor, promění tahle historie přímo v editoru možnou krizi v rychlé pátrání. Širší příběh verzování popisuje článek o správě verzí; díky jeho propojení s editorem ho implementátoři nemusí kvůli práci s verzemi opouštět.
Rozdělené panely řeší případy, kdy je potřeba upravovat dva artefakty společně. Skript a automatizaci, která ho volá; šablonu a skript, který ji vykresluje; dotaz a pohled, který ho používá. Editor se rozdělí svisle nebo vodorovně, ukáže oboje a nechá implementátora přepínat mezi nimi, aniž by o kterékoli přišel. Pro sladěné změny, které si větší implementace dřív nebo později vyžádají, drží právě rozdělené panely potřebný kontext na očích.
Klávesové zkratky odpovídají zvyklostem, které vývojáři už znají — zpět, znovu, uložit, hledat, přejít, zakomentovat, odsadit, posunout řádek — takže editor nikoho nenutí učit se novou svalovou paměť, když už jednu roky má. Implementátoři, kteří editor platformy nikdy nepoužívali, bývají produktivní během pár minut, protože většina toho, co už umí, platí i tady.
Tmavý a světlý motiv respektují nastavení uživatele, převzaté z celoplatformního nastavení vzhledu. Kdo pracuje v tmavém režimu, vidí v tmavém režimu i editor; kdo ve světlém, vidí světlý; přepnutí je okamžité. Stejně jako zbytek aplikace je i tmavý motiv editoru navržená paleta, ne jen převrácení barev — barvy zvýrazňování syntaxe jsou zvolené tak, aby text zůstal čitelný na tmavém pozadí, a kontrast zůstává příjemný i při dlouhé práci.
Šetrné chování na mobilních zařízeních počítá s tím, že prohlížeč v telefonu není to pravé prostředí pro seriózní psaní kódu. Na malých obrazovkách je editor ve výchozím stavu jen ke čtení — implementátoři si skripty a šablony mohou prohlédnout, aniž by je na stísněné klávesnici omylem upravili — a plnou editaci si nechává pro desktop, kde má opravdu smysl. Drobná ohleduplnost, která odráží celkový přístup platformy: používat správný nástroj ve správném kontextu.
Editor funguje stejně napříč všemi typy obsahu. Úprava skriptů, šablon, výrazů v dotazech i konfigurace — stejný editor, stejné zkratky, stejné našeptávání, stejná diagnostika. Implementátoři se nemusí učit zvláštní nástroj pro každý druh obsahu; naučí se editor jednou a použijí ho všude. Právě tahle jednotnost drží pracovní prostředí implementátora soudržné i ve chvíli, kdy se to, co upravuje, různí.
Pro implementátory, kteří tráví psaním kódu uvnitř platformy — skriptů, šablon, dotazů, konfigurace — je editor tím, co udělá z toho času práci, která baví, a ne otravu. K sousedním tématům: článek o skriptování na straně serveru popisuje, co skripty umí, článek o tvůrci stránek Canvas se věnuje psaní šablon, které probíhá ve stejném editoru, a článek o automatizacích ukazuje, jak se skripty a editor zapojují do větších workflow. Psát, spouštět a ladit přímo v prohlížeči — takový je tvar prostředí pro rozšiřitelnost, které jsme postavili, a editor je plocha, kde se to všechno potkává.