Programátorské editory (X)WPE a (X)FTE |
Miroslav Janiš, 9. června 1998 |
Editory wpe a fte budou patrně bližší těm, kteří
přecházejí na Linux z DO$u a UNIXové editory typu vi nebo emacs
jsou pro ně záhadou. Oba popisované editory se více či méně úspěšně
snaží napodobit "standardní" Borlandí ovládání (které podle mne
nepatří mezi nejhorší). Hned na začátku bych však zmínil i nevýhody
těchto editorů - fte nemá verzi pro terminál a u wpe se
mi ji vůbec nepodařilo rozchodit. Takže jejich použitelnost je zúžena
na X-Window System a u fte ještě lze použít verzi pro textovou
konzoli. (BTW: pokud používáte KDE, tak vás možná potěší verze pro
tento X desktop (není ale součástí standardní distribuce fte).)
Téměř dokonalá kopie Borlandího rozhraní; umožňuje vše (velmi
nadneseně řečeno), co si zmlsaný programátor může přát.
Stvořil ho pan Fred Kruse a ve verzi 1.4.2 existuje bez změny již od
roku 1993. Teprve v nedávné době byly zdrojáky oprášeny a byl zahájen
projekt "za lepší WPE" (just kidding). Podívejte se na adresu
http://www.rpi.edu/~payned/xwpe/. Další text se bez
výjimek bude vztahovat ke staré verzi 1.4.2.
Podobnou simulací Borlandů je program RHIDE, který byl napsán pro djgpp, což je dosový port překladače GNU C (produkuje tak dobrý kód,
že byl použit IDSoftwarem k překladu QUAKEa místo Watcom C). RHIDE
existuje jak pod DO$, tak pro Linux. Linuxovou verzi jsem však
nezkoušel a o té dosové si pamatuji jen to, že když jsem hned na
začátek zdrojáku napsal komentář, tak při listování spolehlivě zatuhl
:-) Takže toto rozhraní rád přenechám povolanějším...
Obrázek ukazuje editor xwpe při krokování programu (těsně před
tím, než mi spadl :-) ).
- vytváření projektů s definicí parametrů pro překladač i linker
- definice breakpointů a krokování přímo ve zdrojovém kódu, klasické
výpisy obsahu proměnných (Watch) a zásobníku programu
(Stack)
- odskakování na chyby a "warningy" objevené překladačem a zpřístupněné
pomocí okénka Messages
- možnost nakonfigurovat a využít různé překladače - kromě C(++) třeba
Fortran, Pascal či LaTeX (hmm... tady je trochu problém, protože
xwpe "cpe" zcela svévolně libovolnému překladači spuštěnému
z menu příkazem Run/Compile parametr -c, takže je třeba
spouštět skript, který ignoruje první parametr (-c) a spouští
latex až s tím druhým (filename))
- zobrazování manových stránek i GNU info - umožňuje pohodlnou navigaci
dokumentem, leč tu a tam špatně interpretuje odkaz (spíš
ignoruje)...
- "obarvování" syntaxe (snaha o český překlad (spíš přepis)
slova highlight) a konfigurace barev editoru a syntaxe
- konfigurace chování editoru (tabelátory, autoindent, autosave...),
ale jinak je konfigurace možností editace dost omezená.
- a nakonec umí také zcela nečekaně v ten nejnevhodnější okamžik spolehlivě
chcípnout (hlavně při prohlížení manových stránek) ;-) (ale většinou
se mu podaří rozdělanou práci uložit ...)
Obecně lze říci, že k programování (spíše ke zkoušení programovat) je
tento editor celkem použitelný - napíšete kód, rovnou ho přeložíte,
opravíte syntaktické a jiné chyby odhalené překladačem a můžete ho
vesele krokovat a provádět s ním různé jiné kejkle bez nutnosti
vytvářet Makefile a spouštět debugger. Ovšem k většímu projektu
je Makefile stejně nutno vytvořit (co s nepřenositelným
"projektfajlem"? (Nějakým kouzlem (skriptíkem) by z něho ten Makefile
vytvořit možná šlo...)) a chyby je v zásadě lépe vůbec nedělat - ušetří to spoustu práce s následným honěním nějakého stupidního bugu
;-).
Jinak se mi zdá tento editor dost omezený - barevná syntaxe funguje
jen pro pár vyvolených (C(++), Pascal, Fortran(?)...), indent je
dost hloupý, a editor vůbec neumí kompletaci slov (doplňování slov
podle předchozího kontextu). O definování klávesových zkratek pro
vkládání často používaných výrazů si při používání tohoto editoru
můžete nechat jen zdát. A právě tyto vlastnosti má editor fte.
Editor fte si neklade za cíl kopírovat IDE. Je to jen
editor. Ovšem editor vhodný pro programátory zvyklé Borlandímu
ovládání. Zdá se, že byl původně stvořen pod OS/2 a teprve postupem
času portován na ostatní systémy i "systémy" - DOS, Linux,
Win32. Napsal (a naprogramoval :-) ) ho pan Mirko Macek a je možné ho
získat na http://ixtas.fri.uni-lj.si/~markom/fte.
Zde existuje ve verzi pro X-Window a linuxovou konzoli (hovoříme-li
o možnostech týkajících se Linuxu). Někde na adrese http://www.kde.org lze též najít port pro KDE od jiného
autora. Tato verze má tu výhodu, že pokud máte správně nainstalovanou
českou klávesnici pod X-Window (čili chodí-li vám třeba pod KDE
aplikacemi), tak vám zde bude chodit též.
Xfte v plné kráse - ukázka různých indent stylů, ty [0] značí
foldy. Celý text by po zavření foldů měl tři řádky...
- Konfigurovatelné zvýraznění syntaxe (highlighting) - můžete přidávat
vlastní definice různých formátů souborů. Nadefinovány jsou tyto
jazyky/formáty: C(++), Java, REXX, Perl, Pascal, Ada, UNIX shell
skripty, tcl, HTML, LaTeX, E-mailové zprávy, DIFF a další. Ne všude
funguje hilite tak, jak by si člověk představoval - u HTML nejsou
nadefinována některá klíčová slova a JavaScript to vůbec nerozezná
:-) V shellovských skriptech je zase jako příkaz zvýrazněno jen
první slovo, takže pokud voláte nějaký program celou cestou, tak je
zvýrazněn jen první adresář (kromě lenosti však nic nebrání
odstranění těchto nedostatků přímo v konfiguračních souborech).
- Speciální indent pro C(++), Perl, Javu, REXX, přičemž pro C existují
tři módy - standardní, GNU a Linux kernel styl. Céčkovský indent
mne opravdu nadchl - na patřičné místo na řádku kursor odskakuje
hned po stisknutí klávesy Enter a inteligentně rozpoznává složené
závorky. To znamená, že zdroják píšete bez jakýchkoli starostí
o formátování textu - vše se provádí automaticky. Další pomůcka
usnadňující orientaci v textu je, že při najetí kursorem na závorku
(jakoukoli - [, ], {, },
( a )) se zvýrazní odpovídající závorka.
- Schopnost kompletování slov na základě předchozího kontextu - pokud
se v předchozím textu již dané slovo vyskytuje, stačí napsat několik
prvních písmen a stiskem kláves Ctrl+Tab se slovo automaticky
dopíše (pro lenochy jako jsem já je to přímo terno...). Bohužel
to již nefunguje, když něco dopisujete na začátku zdrojáku a slovo,
které byste chtěli doplnit, se sice v textu již vyskytuje, ale
nachází se za inkriminovaným místem :-(
- Folds (čti faldy ;-) ) - ačkoli je pro ně vytvořeno
speciální menu, teprve nedávno (cca půl hodiny) jsem pochopil,
k čemu tohle zvíře vlastně je, neboť jsem měl čas, chuť a hlavně
důvod (psaní tohoto článku) se tím zabývat. Zdá se, že je to velmi
užitečná schopnost zpřehlednit vytvářený text - např. v C
zdrojáku můžete pomocí menu Fold/Create folds at routines
vytvořit "faldík" pro každou funkci. Potom stiskem kláves
Alt+Gray / všechny foldy zavřete. Text se poté jeví jako
seznam funkcí - zobrazí se totiž pouze první řádek
ve foldu. Na libovolný fold lze najet kursorem a kombinací kláves
Ctrl+Gray + a
Ctrl+Gray - je lze otvírat či
zavírat. Foldy lze vytvářet i pomocí regexpu či jak se vám zachce
- viz menu Fold. Není však vše zlato, co se třpytí...
U foldů lze definovat pouze začátek. Ukončení zařídí buď definice
dalšího foldu nebo konec souboru. To vede např. při
"ofoldování" zdrojáku podle funkcí (viz výše) k tomu, že se
komentáře před funkcí, které se jí většinou také týkají, dostanou
na konec foldu, ve kterém je předcházející funkce. Je zde však
stále možnost použít regexp - takže pokud píšete komentáře
k funkcím ve stylu /* Fce: ... */, můžete vytvořit foldy přes
regexp pomocí výrazu \/\* Fce:.
- Chování editoru lze ovlivňovat na poměrně nízké úrovni (víte, jak
to myslím - assembler je také programovací jazyk nízké úrovně, ale
lze v něm udělat všechno). Pro každý typ dokumentu je vytvořen
zvláštní konfigurační soubor, ve kterém je nadefinován způsob
obarvování syntaxe, speciální klávesové zkratky, přídavná menu (viz
HTML), formátování textu, okraje a spousta dalších vlastností. Vše
lze libovolně měnit a upravovat podle vlastních představ. Je však
pravda, že je v těch konfiguračních souborech trochu chaos, ale když
začnete souborem main.fte, tak se snadno
zorientujete. A editor fte má pro tyto konfiguráky zvláštní
mód s barvičkami :-). Po editaci konfiguračních souborů je třeba
ještě vytvořit "překlad" pomocí prográmku cfte
a překopírovat ho do souboru $HOME/.fterc. Potom znovu
spustíte fte a je to.
- Překlad a opravy zdrojových textů - fte umožňuje spouštět překladač
na pozadí (implicitně spouští make, takže je třeba vytvořit
i Makefile (pro který je též zvláštní mód)) a odchytává si jeho
chybové hlášky. Potom lze pomocí okna Messages skákati po
chybách a opravovati. Žádné debugovací schopnosti (krokování či
breakpointy) to však nemá - je ovšem otázka, zda je to bug nebo
feature (fprintf(stderr, "Err: blah\n"); také není
k zahození).
Ačkoli ladící schopnosti editoru fte jsou zredukovány na okénko
s chybovými hláškami, přesto si tento editor snadno získal mé srdce
- jeho implicitní nastavení mi totiž maximálně vyhovuje, a tak změny
v konfiguraci nebyly nějak dalekosáhlé. Přidal jsem si pouze mód pro
českou klávesnici, zkratku pro v HTML módu
(Ctrl+Space) a ještě pár maličkostí jako používání českého fontu
nebo předefinování zkratky Ctrl+Tab na Shift+Tab kvůli
KDE. Samozřejmě, že i tento editor jako většina jiných má své
nedostatky, o kterých jsem se zmiňoval výše, ale tyto nedostatky
bohatě vyvažují možnosti, které tento editor poskytuje.
|