jEdit - editor schopn² nejen nahradit PSPad
Cht∞l bych vßs seznßmit s jednφm z nejlepÜφch programßtorsk²ch editor∙, kter² je multiplatformnφ, velice rychl², podporuje pluginy, mß kvalitnφ makro jazyk a vestav∞nou podporu desφtek r∙zn²ch programovacφch jazyk∙. V tomto Φlßnku vßm p°edklßdßm srovnßnφ jEditu s PSPadem, de facto Φesk²m standardem pro freewarov² XHTML/PHP editor, a p°ehled oblastφ, ve kter²ch je jEdit oproti PSPadu lepÜφ.
Program jEdit je programßtorsk² editor napsan² v Jav∞ a poskytovan² v GNU GPL licenci, tak₧e funguje v postat∞ na libovolnΘm OS, a¥ u₧ je to Windows, Linux, MacOS X, OS/2, HP Unix, VMS Φi Solaris. Pro jeho spuÜt∞nφ pot°ebujete Java Runtime Edition (JRE), a to verze 1.4.0 a vyÜÜφ (1.5.0 je takΘ testovßna). A p°esto₧e je to aplikace psanß v Jav∞, je mimo°ßdn∞ rychlß. Pro °adu operacφ je jEdit dokonce mnohem rychlejÜφ ne₧ oblφben² PSPad.
V²hoda jEditu se projevφ i pokud pracujete s vφce operaΦnφmi systΘmy (v mΘm p°φpad∞ Windows XP, Fedora Core 3 a Solaris 9), budete mφt toti₧ vÜude stejn², stejn∞ konfigurovan² a stejn∞ kvalitnφ programßtorsk² editor.
Instalace jEdit
Proto₧e je jEdit javovskß aplikace, musφte si nejd°φve stßhnout JVM, nap°φklad balφk JRE 1.5.0 od Sunu. Nßsledn∞ vßm k instalaci doporuΦuji jEdit 4.2 stable. V dob∞ vzniku tohoto Φlßnku sice existuje i verze jEdit 4.3 pre1, nicmΘn∞, neriskoval bych, ₧e v nφ nastane chyba a p°ijdete tak potencionßln∞ o kus prßce. Je to teprve prvnφ preview verze, b∞₧n∞ jich b²vß kolem deseti. Verzi 4.2 pou₧φvßm dlouhodob∞ a je mimo°ßdn∞ stabilnφ.
Po instalaci Javy a nakopφrovßnφ jEditu do C:\Program Files\jEdit\
m∙₧ete na Windows spustit jEdit nap°φklad takto:
-Xms32m -mx64m
-jar "C:\Program Files\jEdit\jedit.jar"
-background
A na Linuxu nap°φklad takto (cesty si samoz°ejm∞ upravte podle svΘ instalace):
-Xms32m -mx64m
-jar /home/rado/jedit/4.2/jedit.jar
-background
PodstatnΘ jsou zde p°epφnaΦe -Xms32m a -mx64m, kterΘ umo₧nφ, aby JVM alokovalo vφce ne₧ standardnφch 8 MB pam∞ti, a to konkrΘtn∞ minimßlnφch 32 MB pam∞ti (kv∙li rychlosti) a maximßlnφch 64 MB pam∞ti (osobn∞ v∞tÜφ soubory needituji). Rovn∞₧ je pou₧it p°epφnaΦ -background, kter² zajiÜ¥uje, ₧e i kdy₧ jEdit ukonΦφte pomocφ zavφracφho k°φ₧ku okna, proces JVM z∙stßvß stßle v pam∞ti a p°i novΘm spuÜt∞nφ aplikace jEdit nab∞hne b∞hem n∞kolika milisekund, tedy okam₧it∞ (dokonce jeÜt∞ rychleji ne₧ novΘ spuÜt∞nφ PSPadu). Pokud chcete proces ukonΦit zcela, aby nealokoval pam∞¥, staΦφ pou₧φt klßvesovou zkratku Ctrl+Q Φi volbu v menu | File | Exit |.
Zßkladnφ nastavenφ jEditu naleznete v menu | Utilities | Global Options |. Je pot°eba zejmΘna nastavit v sekci | Textarea | vhodnΘ pφsmo, pro m∙j LCD monitor se na Windows nejlΘpe vyjφmß Lucida Sans Typewriter 13 Plain, se zapnut²m "Smooth Text" a "Fractional Font Metrics", a na Fedora Core 3 pou₧φvßm Nimbus Mono L 12 Plain.
Rychl² p°ehled funkcφ jEditu
Poj∩me se podφvat na obrazovku jEditu na Windows, s n∞kolika otev°en²mi soubory a s u₧ivatelsky uzp∙sobenou konfiguracφ, obrßzek °ekne Φasto vφce ne₧ mnoho slov:
jEdit - hlavnφ obrazovka (plnß velikost, cca 24 kB)
Na prvnφ pohled je vid∞t n∞kolik siln²ch funkcφ jEditu, kterΘ v °ad∞ jin²ch editor∙ nenajdeme:
- Complete Word
- Dopl≥ovßnφ slov aktußln∞ pou₧φvanΘho programovacφho jazyka, pou₧φvß se klßvesovß zkratka Ctrl+B.
- Folding
- Funkce, kterß automaticky rozΦle≥uje text do celk∙ a blok∙ a umo₧≥uje pomocφ Üipek na levΘ liÜt∞ jednotlivΘ bloky zabalit Φi rozbalit pro v∞tÜφ p°ehlednost (v tomto p°φpad∞ je zvolen "Folding Mode: Indent").
- PHP Parser
- Umφ p°i ulo₧enφ Φi naΦtenφ souboru varovat, kterΘ Φßsti k≤du obsahujφ chyby.
- Rychlß prßce s °adou k≤dovßnφ
- jEdit podporuje cp1250, iso-8859-2, utf-8 a dalÜφch zhruba padesßt k≤dov²ch strßnek. Na rozdφl od PSPadu otevφrßnφ soubor∙ probφhß extrΘmn∞ rychle - zkuste si otev°φt nap°φklad zßlohu SQL databßze o velikosti 20 MB pro editaci v UTF-8, zatφmco PSPad na n∞kolik minut zkolabuje, jEdit soubor otev°e a je s nφm schopen pracovat b∞hem dvou sekund. (Toto nenφ pomlouvßnφ jinak skuteΦn∞ skv∞lΘho PSPadu, jen je to podle mΘho prost∞ editor urΦen² na jinΘ, menÜφ v∞ci.)
- Podpora plugin∙
- Onen zmφn∞n² PHP parser, Φi hornφ Buffer Switcher, je °eÜen jako plugin, co₧ je skv∞lß koncepce. Dokonce i ukßzkov² vzhled jEditu je °eÜen pluginem, poznßmkov² blok je plugin, FTP klient je plugin a tak dßle. Prost∞ jEdit m∙₧ete dle libosti rozÜi°ovat, plugin∙ existujφ stovky, osobn∞ jich pou₧φvßm asi dvacet.
- Structure Browser
- Prohlφ₧eΦ struktury dokumentu, u v∞tÜφch projekt∙ nedocenitelnß v∞c.
- Syntax Highlighter
- Standardnφ v∞c, nicmΘn∞ v jEditu pracuje i s PHP parserem a je schopna chybn∞ napsanΘ v∞ci dßle zv²raznit, co₧ ·₧asn∞ pomßhß v prßci.
Krom∞ t∞chto na prvnφ pohled viditeln²ch funkcφ obsahuje jEdit:
- velice kvalitnφ makrojazyk
- mimo°ßdn∞ rychlΘ prohledßvßnφ a nahrazovßnφ slov, vΦetn∞ podpory pro hledßnφ v otev°en²ch souborech (bufferech), v adresß°i (a podadresß°φch) a s podporou pro regulßrnφ v²razy, vÜe sdru₧eno v jednom p°ehlednΘm a efektivnφm dialogovΘm okn∞
- mo₧nost automatickΘho zßlohovßnφ soubor∙ do zvolenΘho adresß°e
- podporu pro centrßlnφ repository plugin∙, tedy server jedit.org se seznamem vÜech plugin∙ dostupn²ch p°φmo ze Sprßvce plugin∙ v menu jEditu, a s mo₧nostφ jejich automatickΘho sta₧enφ a instalace na jedno kliknutφ, vΦetn∞ °eÜenφ vzßjemn²ch zßvislostφ mezi pluginy, a podporu pro automatick² update na nov∞jÜφ verze plugin∙
- podporu, pomocφ plugin∙, pro p°evod k≤du do XHTML, podporu pro Tidy, Diff plugin a desφtky dalÜφch
- podporu pro Abbreviations, tedy vestav∞nΘ i u₧ivatelsky definovanΘ zkratky, kterΘ jsou p°i psanφ automaticky nahrazovßny cel²m textem
- podporu pro Split View, tedy vφce pohled∙ na jeden buffer
Integrace jEditu s PHP
Na Windows je mo₧nΘ pou₧φt sφly maker jEditu spoleΦn∞ s rozÜφ°enou nßpov∞dou pro PHP ("chm" formßt) pro kontextovou nßpov∞du. Kdy₧ napφÜete v textu t°eba iconv
, oznaΦφte toto slovo, stisknete vßmi nadefinovanou horkou klßvesu (t°eba Ctrl+Alt+P) a spustφte tφm makro, kterΘ otev°e nßpov∞du PHP pro danou funkci.
UvedenΘ makro m∙₧e vypadat nap°φklad takto:
selections = textArea.getSelection();
if(selections.length > 0) CHM_location += "::/_function.html#" + textArea.getSelectedText();
exec("HH " + CHM_location);
Jednß se o vcelku samovysv∞tlujφcφ v∞c, manußl k PHP mßm v tomto p°φpad∞ umφst∞n v C:\Dev\Manual\PHP\php_manual_en.chm a p°φkaz spustφ program HH (Nßpov∞da Windows) s parametrem hledanΘ funkce. Stßhnout si manußl v "chm" formßtu (jen pro Windows) m∙₧ete na php.net (mß 10 MB a obsahuje i komentß°e a °eÜenφ u₧ivatel∙, co₧ je dost u₧iteΦnΘ).
Pokud chcete rad∞ji pou₧φvat online nßpov∞du, m∙₧e vaÜe makro vypadat nap°φklad takto (Ctrl+Alt+O):
Tyto makra ulo₧te jako Nßzev_makra.bsh do ./jedit/macros/php/ a nßsledn∞ jim p°i°a∩te klßvesovΘ zkratky v | Utilities | Global Options | Shortcuts | Macros |.
U₧iteΦnΘ pluginy
Program jEdit ani ve standardnφ instalaci nenφ "chud²" editor, teprve s pluginy specializovan²mi na vßÜ vybran² programovacφ jazyk vÜak zφskßvß pat°iΦn∞ na sφle.
V menu | Plugin | Plugin Manager | Install | vßm jEdit nabφdne veÜkerΘ pluginy existujφcφ v jEdit Plugin Repository, vΦetn∞ jejich krßtkΘho popisu (musφte b²t pochopiteln∞ v tu chvφli p°ipojeni k internetu). Instalace spoΦφvß v kliknutφ na checkbox u nßzvu plugin∙, kterΘ chcete instalovat, a ve zmßΦknutφ tlaΦφtka Install, p°φpadn∞ dle po₧adavk∙ doprovßzenΘm restartovßnφm jEditu.
Po instalaci je v | Plugin | Plugin Manager | Manage | k dispozici i podrobnß nßpov∞da ke vÜem instalovan²m plugin∙m.
Vlastnφ "skladba" plugin∙ se bude liÜit podle vaÜich pot°eb, pro svΘ programovßnφ v PHP, Pythonu a SQL (na C++ jEdit nepou₧φvßm) mßm instalovßno toto:
Plugin | Popis |
---|---|
BufferTabs | Tento plugin umφ zobrazit "zßlo₧ky" (tabs) vÜech otev°en²ch soubor∙ (v jEditu se soubor naz²vß buffer), jako je znßme t°eba z Firefoxu. |
CharacterMap | Mapa znak∙. |
Clipper | Utilita, kterß zobrazφ definovanΘ sady p°φkaz∙ Φi znak∙ (t°eba XHTML elementy). |
CodeBrowser | Skv∞l² plugin, kter² umφ zobrazit relace mezi t°φdami v celΘm projektu, pop°φpad∞ v otev°en²ch souborech. |
Code2HTML | P°evede jak²koli napsan² k≤d do naformßtovanΘho XHTML se zv²razn∞nφm syntaxe. |
Console | SpouÜt∞nφ externφch p°φkaz∙. |
EditorScheme | Obsahuje asi 30 vestav∞n²ch barevn²ch schΘmat (osobn∞ pou₧φvßm schΘma ColdFusion). |
ErrorList | Tento plugin je vy₧adovßn ostatnφmi pluginy pro zobrazenφ chybovΘho v²stupu, t°eba PHP parseru. |
FindFile | Hledßnφ souboru podle °ady parametr∙. |
Gestures | Mo₧nost ovlßdat jEdit gesty myÜφ. |
jDiff plugin | Porovnßnφ dvou buffer∙ Φi soubor∙. |
jTidy | Implementace Tidy knihovny pro XHTML. |
Look and Feel | Mo₧nost modifikace vzhledu celΘho jEditu (pou₧φvßm vzhled jGoodiesPlasticXP). |
ProjectViewer | Sprßvce projekt∙. |
QuickNotepad | Luxusnφ poznßmkov² blok. |
SQL | Umo₧≥uje u projektu nadefinovat p°ipojenφ k databßzi a vykonßvat nad nφ SQL p°φkazy, neuv∞°iteln∞ u₧iteΦnΘ! |
SideKick | Umo₧≥uje prochßzet strukturu prßv∞ otev°enΘho bufferu. |
TextTools | RozÜφ°enΘ nßstroje pro prßci s textem. |
WhiteSpace | Totßln∞ konfigurovatelnΘ zobrazenφ bφl²ch znak∙. |
XML | XML parser. |
XML indenter | -formßtovßnφ XML k≤du. |
XQuery | Zpracovßnφ XSLT dotaz∙. |
P°φÜt∞ se podrobn∞ji podφvßme na jednotlivΘ funkce jEditu a n∞kter²ch plugin∙.