Navigace

Hlavnφ menu

 

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:

"C:\Program Files\j2sdk\bin\javaw.exe"
   -Xms32m -mx64m
   -jar "C:\Program Files\jEdit\jedit.jar"
   -background

A na Linuxu nap°φklad takto (cesty si samoz°ejm∞ upravte podle svΘ instalace):

/usr/java/jre1.5.0/bin/java
   -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
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:

CHM_location = "C:\\Dev\\Manual\\PHP\\php_manual_en.chm";
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):

exec("c:\\program files\\mozilla firefox\\firefox.exe http://www.php.net/" + textArea.getSelectedText() );

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:

PluginPopis
BufferTabsTento 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.
CharacterMapMapa znak∙.
ClipperUtilita, kterß zobrazφ definovanΘ sady p°φkaz∙ Φi znak∙ (t°eba XHTML elementy).
CodeBrowserSkv∞l² plugin, kter² umφ zobrazit relace mezi t°φdami v celΘm projektu, pop°φpad∞ v otev°en²ch souborech.
Code2HTMLP°evede jak²koli napsan² k≤d do naformßtovanΘho XHTML se zv²razn∞nφm syntaxe.
ConsoleSpouÜt∞nφ externφch p°φkaz∙.
EditorSchemeObsahuje asi 30 vestav∞n²ch barevn²ch schΘmat (osobn∞ pou₧φvßm schΘma ColdFusion).
ErrorListTento plugin je vy₧adovßn ostatnφmi pluginy pro zobrazenφ chybovΘho v²stupu, t°eba PHP parseru.
FindFileHledßnφ souboru podle °ady parametr∙.
GesturesMo₧nost ovlßdat jEdit gesty myÜφ.
jDiff pluginPorovnßnφ dvou buffer∙ Φi soubor∙.
jTidyImplementace Tidy knihovny pro XHTML.
Look and FeelMo₧nost modifikace vzhledu celΘho jEditu (pou₧φvßm vzhled jGoodiesPlasticXP).
ProjectViewerSprßvce projekt∙.
QuickNotepadLuxusnφ poznßmkov² blok.
SQLUmo₧≥uje u projektu nadefinovat p°ipojenφ k databßzi a vykonßvat nad nφ SQL p°φkazy, neuv∞°iteln∞ u₧iteΦnΘ!
SideKickUmo₧≥uje prochßzet strukturu prßv∞ otev°enΘho bufferu.
TextToolsRozÜφ°enΘ nßstroje pro prßci s textem.
WhiteSpaceTotßln∞ konfigurovatelnΘ zobrazenφ bφl²ch znak∙.
XMLXML parser.
XML indenter-formßtovßnφ XML k≤du.
XQueryZpracovßnφ XSLT dotaz∙.

P°φÜt∞ se podrobn∞ji podφvßme na jednotlivΘ funkce jEditu a n∞kter²ch plugin∙.

Hulßn, Radek (11. 2. 2005)
internetov² autor a vydavatel webu WELL.DONE