Instalace a první spuštění
V současnosti je k dispozici verze 4.1, která je poměrně čerstvá. Instalace probíhá triviálně, protože se produkt dodává formou jednoho JAR archivu. Stačí tedy spustit příkaz java -jar jedit.xxx.jar
a na obrazovce se již objeví grafický průvodce, který provede instalaci. Po zadání parametru text
můžete také spustit instalaci textovou. Alternativně můžete stáhnout a nainstalovat RPM balíček ze stránek www.jpackage.org.
Hned při prvním spuštění vás jistě nadchne příjemný vzhled a přehledně uspořádané menu. Brzy přijdete na to, že funguje třeba kolečko myši, a na jiné drobnosti, které zpříjemňují život. Dialog pro otevírání souboru má mnoho vylepšení, jako jsou oblíbené položky či přímé volání některých pluginů. jEdit samo sebou načítá textové soubory, a to ve všech formátech včetně UTF8. Nedělají mu problémy ani soubory s řádkováním DOS nebo MAC a s přehledem otevře také soubory sbalené GZIPem.
Editace textu
Namapování kláves, které je velmi podobné Emacsu, mi ze začátku dělalo problémy, protože používám textový editor VIM. V prvním kroku jsem si tedy nastavil mapování alespoň zhruba na VI. Překvapilo mě, že jsem nenašel již připravený vzor, který by se dal načíst, a musel jsem klávesy vkládat ručně, ale dá se to zvládnout během pěti minut.
jEdit pracuje podobně jako Emacs v jednotlivých režimech bufferu, přičemž po startu editor přejde do základního – textového. V tomto režimu neprobíhá žádné zvýrazňování textu a implicitně není nastaveno ani zalamování řádků (máte možnost nastavit vizuální /soft/ nebo „na tvrdo“ /hard/). K základním volbám bufferu patří právě zalamování, šířka zlomu (po nastavení se objeví svislá čára), velikost tabelátoru, zarovnávání textu a smršťování (folding).
K dispozici máte základní textové úkony, jako je formátování textu na šířku, posun začátku řádku, skok na číslo řádku, skok k závorce a podobně. V textu můžete zanechávat značky a později se k nim vracet. Vyhledávání je nesmírně propracované, máte samozřejmě možnost použít také regulárních výrazů. Zajímavá je funkce hypersearch nebo funkce hledání ve více souborech. Za zmínku stojí to, že jEdit velice přehledně páruje závorky a zejména na více řádcích (na okraji se označí daný blok kódu).
Mezi základní vlastnosti dobrého editoru patří bezesporu doplňování slov. Základní mapování je CTRL+B, což si můžete samo sebou změnit. Je vyvedeno hezky. Po stisku kýžené kombinace editor nabídne seznam slov, ze kterých si můžete vybrat, nebo případně stiskem dalšího písmenka skočit na další. Rozšířené doplňování pak mají na starost pluginy.
Folding (smršťování textu) je vlastnost, která je v jEditu implementována v plném rozsahu. Máte ne výběr ze tří možností – Folding nevyužívat, podle počátku řádku, nebo explicitní folding. Asi nejužitečnější volbou je folding podle zarovnání řádku (indent), kdy máte možnost sbalit text, který je na stejné úrovni (například blok kódu v programovacím jazyce). Pokud si nadefinujete v textu vlastní úseky, které mohou být sbaleny, můžete použít explicitní smršťování.
Pohled na dokument můžete samozřejmě ovlivňovat. Rozdělování oken horizontálně a vertikálně funguje bezproblémově a takový synchronizovaný posun oken je velice užitečný. Poslední zajímavostí je BeanShell. Jedná se o interpretovaný makrojazyk se syntaxí Javy, ve kterém můžete psát makra. BeanShell je napojen přímo do jEdit API, můžete tak ovlivňovat prakticky cokoliv (vytvářet formuláře, otevírat okna, měnit text…). Naštěstí však samotný editor již v BeanShellu napsán není (jako např. Emacs).
Nastavení
Možnosti nastavení jsou opravdu široké. Vše se děje interaktivně, takže nebudete muset studovat konfigurační soubory. Kromě nastavení základních voleb (barvy, vzhled, načítání souborů, klávesová mapa, menu, toolbar atd.) můžete nastavovat vlastnosti editace pro každý buffer zvlášť (šířka textu, zalamování atd.), automatické doplňování zkratek (třeba if
se rozvine na if (...) then
) nebo si můžete nastavit dokování oken (docking), a to dokonce pro každý plugin jinak!
Příjemné je to, že po instalaci pluginu (možno instalovat automaticky přímo z jEditu nebo prostým nakopírováním jednoho či více souborů do adresáře JEDIT_HOME/jars
) se přímo ve volbách objeví nová položka a vy si můžete plugin nastavit tak, jako byste nastavovali editor samotný. Většina pluginů má také nápovědu, která se automaticky přidá k originální nápovědě jEditu.
jEdit také nabízí jednu zajímavou vlastnost. Lze jej spustit v takzvaném server režimu (na pozadí), kdy se celý editor načte do paměti, ale nezobrazí. Při dalším startu již jEdit-klient komunikuje se serverem pomocí TCP/IP. Pokud toto načtení editoru provedete ihned po přihlášení, můžete takto zmírnit poněkud pomalejší startování (na průměrném stroji se jedná o 5–7 vteřin).
Přídavné moduly (pluginy)
Největší síla jEditu se skrývá v pluginech. Jsou to knihovny JAR, které se nakopírují do adresáře s programem a jEdit je automaticky po načtení aktivuje. Pluginů se na internetu vyskytují stovky a na domovské stránce programu naleznete jejich archiv. Rád bych v krátkosti představil ty nejužitečnější z nich.
Consoleje plugin, který musíte mít. Poskytuje totiž jednak základní konzoli, kterou můžete spouštět programy v systému, jednak ho přímo vyžadují i jiné pluginy, protože jeho služeb využívají. Podobně je na tom plugin ErrorList, který implementuje okno, do něhož většina pluginů vypisuje chybové zprávy. Navíc umí chyby zvýraznit přímo v okně editoru a při najetí kurzoru chybu vypíše jako bublinovou nápovědu. Nejrozumnější je tyto pluginy ihned po instalaci ukotvit ke spodnímu okraji programu (options – docking – bottom).
Pokud chcete vyvíjet Java programy, asi se vám bude hodit JCompiler a JTools. JCompiler umí spouštět kompilátor a zobrazovat chyby (v ErrorListu) a JTools umí optimalizovat importy, obsahuje průvodce nové třídy a nabízí makra pro zakomentování/odkomentování bloků kódu. Jako zajímavý se jeví Java Insight plugin, který umožňuje prohledávat CLASSPATH a dekompilovat (pomocí JODE dekompilátoru) vybrané třídy. Plugin PMDje výtečným pomocníkem při odhalování překlepů a nedokonalostí kódu (viz. článek na rootu – Statická analýza kódu). Existuje dokonce i Debugger, ten je ale zatím ve fázi alfa testování. Další pluginy, které doporučuji alespoň vyzkoušet, jsou CVS, InfoViewer, JIndex, JBrowse, JDiff, Refactor, jUnit nebo RETester.
AntFarmje povinný plugin, pokud jste si zvykli používat sestavovací program Ant (viz články o Antu). Umí volat jednotlivé cíle z ant skriptu, což si můžete namapovat na klávesovou zkratku. Děje se tak přímo jedním z vláken jEditu, a proto je startování Antu o mnoho rychlejší než z příkazové řádky, kde se Ant musí chvíli načítat. Máte také možnosti spouštět cíle z více sestavovacích skriptů, nastavovat proměnné a podobně. Případné chyby se samozřejmě zobrazují v ErrorListu, včetně těch, které jsou přímo v sestavovacím XML souboru. Za prozkoumání také stojí plugin AntViz (zatím ve fázi alfa verze), který umožňuje ladit sestavovací XML skripty.
Pokud se věnujete tvorbě dynamických webů, jistě oceníte pluginy, jako jsou XML, SQL, JTidy či Tomcat. První z nich je ze všeho nejzajímavější. Umí totiž kontrolovat XML soubory podle DTD definic. XML plugin tak povyšuje jEdit na plnohodnotný XML editor zobrazující chyby v XML, který automaticky doplňuje parametry, umožňuje vizuálně editovat jakékoliv značky a automaticky stahuje příslušné DTD přímo z internetu. Pomocí SQL můžete spouštět skripty prakticky na jakékoliv databázi, měnit data či vytvářet tabulky. JTidy vám zase uklidí HTML kód a konečně plugin Tomcat umí spouštět nebo restartovat Tomcata stiskem jedné klávesy.
Závěr
jEdit je výkonný editor, který byste určitě měli vyzkoušet. Jeho hlavní výhody jsem shrnul v tomto článku, mezi jeho hlavní nevýhody bych řadil absenci textového režimu a pomalejší startování. První nevýhoda bude možná v budoucnu odstraněna a ta druhá se dá překousnout, vzhledem k tomu, co všechno jEdit nabízí. Prakticky není nic, co by jEdit neuměl, a pokud o něčem takovém víte, svěřte se komunitě. Řešení formou makra, souboru s definicí syntaxe nebo pluginu na sebe nenechá dlouho čekat.
Linky:
www.jedit.org
plugins.jedit.org