Sublime Text 2: další důležité pluginy

31. 8. 2012
Doba čtení: 4 minuty

Sdílet

V minulých článcích jsme si ukázali důležité pluginy pro editování zdrojových kódů v Sublime Text 2 editoru a dnes toho téma uzavřeme. Sublime Text 2 sice neumí nahradit specializované IDE, ale dokáže se mu přiblížit. Stačí k tomu pár pluginů, které doplní základní funkce a vývoj jde hned lépe.

Editace souborů z řádky

Název této podkapitoly může trochu mást, ale může se vám stát, že se nacházíte v příkazové řádce, koukáte na nějaký soubor a potřebujete využít pokročilých funkcí Sublime Text 2 editoru. V takovém případě stačí spustit binárku Sublime Text 2, ale protože ta může být schovaná kdekoli, můžeme si pomoci symlinkem:

$ sudo ln -s /ceska/k/Sublime\ Text\ 2/sublime_text /usr/local/bin/subl 

Název symlinku subl je použit v mnoha návodech a je možné, že na některých platformách se používá subl místo sublime_text, který je v Linuxu. Symlink si ale samozřejmě můžete pojmenovat jak chcete. Soubor, který si přejete editovat, pak stačí dát subl jako parametr.

$ subl soubor.txt 

Sublime Text 2 v tomto případě nebude blokovat konzoli a hned vám ji vrátí. Pro další informace doporučuji kouknout na nápovědu pomocí subl –help.

Automatické doplňování

Mnoho IDE umí napovídat různé věci, upozorňovat na chyby nebo automaticky importovat v kódu použité funkce, třídy či proměnné. Je to jedna ze stěžejních vlastností každého specializovaného IDE a Sublime Text 2 se dá k těmto vlastnostem přiblížit pomocí pluginu SublimeCodeIntel. Ten po instalaci začne indexovat vše co máte v systému k dispozici, pokud to je jeden z následujících jazyků: PHP, Python, RHTML, JavaScript, Smarty, Mason, Node.js, XBL, Tcl, HTML, HTML5, TemplateToolkit, XUL, Django, Perl, Ruby, Python3.

Po dokončení indexace vám začne SublimeCodeIntel našeptávat metody, funkce, atributy a proměnné schovávající se za aktuálně napsaným názvem nějakého objektu a podobně. Díky tomu si nemusíte vše pamatovat a delší názvy nemusíte vypisovat celé. Pro pohodlné používání je dobré znát následující klávesové zkratky:

Přejít na definici Ctrl + F3
Automatické doplnění Shift + Ctrl + Space

Je možné, že různé verze tohoto pluginu mají různé nastavení klávesových zkratek. Takže pokud by náhodou nefungovaly, zkontrolujte jejich nastavení v jejich konfiguračním souboru a případně do uživatelského konfiguračního souboru přidejte následující:

[
    { "keys": ["ctrl+f3"], "command": "goto_python_definition" },
    { "keys": ["shift+ctrl+space"], "command": "code_intel_auto_complete" }
] 

Přejít na definici lze i pomocí myši a klávesy Alt jako modifikátorem. To na Linuxu není šťastná kombinace, protože se používá pro přesun oken. Jako modifikátor lze použít třeba klávesu Ctrl, a to zkopírováním následujícího opět do uživatelského konfiguračního souboru:

[
    { "button": "button1", "modifiers": ["ctrl"], "command": "goto_python_definition", "press_command": "drag_select" }
] 

Více informací ke zkratkám i k pluginu samotnému hledejte na GitHubu.

Pro pythoní programátory může být alternativou plugin SublimeRope. Několik dní jsem ho ke spokojenosti používal, ale nakonec ho SublimeCodeIntel nahradil. Hlavním důvodem byly některé nefunkční vlastnosti jako „přejít na definici“ nebo „automatický import modulů“. SublimeCodeIntel sice automatický import nemá, ale zato je univerzálnější, skok na definici funguje bez problémů a je ukecanější.

* Tidy

Většina programovacích jazyků má daný standard, podle kterého by se jejich kód měl psát. Pro Python to je třeba dobře známé PEP 8, jiné jazyky mají také svá pravidla. K těmto pravidlům pak existují nástroje, které umí upravit nějaký kód tak, aby se jim přiblížil. Tyto nástroje mají většinou v názvu Tidy a Sublime jich má v repositáři hned několik:

  • PhpTidy
  • HtmlTidy
  • PerlTidy
  • CSSTidy
  • PythonTidy

Po instalaci stačí vyvolat command pallete (Ctrl + Shift + P) a vybrat konkrétní *Tidy, které se použije na aktuálně otevřený soubor.

Znaky a čísla

Relativně často se dostávám do situace, kdy potřebuji jedno čí více písmeno nějakého slova změnit na velké či malé. V takovém případě se hodí plugin Sublime-Text-2-Inc-Dec-Value. S jeho pomocí stačí najet na slovo kurzorem a stisknout Alt + Šipku nahoru/dolů. Podobně to funguje s čísly, která lze takto inkrementovat či dekrementovat. Plugin používá následující klávesové zkratky:

Inkrementace o minimální hodnotu Alt + šipka nahoru
Dekrementace o minimální hodnotu Alt + šipka nahoru
Inkrementace na maximální hodnotu Super + šipka nahoru
Dekrementace na minimální hodnotu Super + šipka nahoru
Inkrementace všeho Super + Alt + šipka nahoru
Dekrementace všeho Super + Alt + šipka nahoru

Klávesové zkratky s klávesou Super mi bohužel nefungovaly a nenašel jsem alternativu, kterou bych je nahradil. Nicméně Alt + šipky bohatě pro pohodlnou práci se znaky a čísly stačí.

Co je špatně

Kromě automatického doplňován se při vývoji může hodit ještě nápověda k tomu, co děláte špatně. K tomu slouží plugin sublimelint, díky kterému budete mít přehled jak o tom, co je vyloženě chybou nebo co by mělo být napsáno jinak. Pokud má sublimelint k vašemu kódu co říci, obarví dané řádky bílou či červenou barvou a po najetí kurzoru zobrazí ve status baru, co se mu nelíbí.

bitcoin školení listopad 24

Když třeba v Pythonu neuděláte za definicí funkce dva prázdné řádky, hned se název funkce obarví bíle a ve status baru napíše sublimelint, že je potřeba prázdné řádky doplnit a rovnou dá i odkaz na pravidlo, které řádek porušuje. Podobně reaguje sublimelint na cykly psané na jednom řádku, neexistující proměnné a atributy, špatné odsazení a další.

Shrnutí

Tímto bych seriál o editoru Sublime Text 2 ukončil. Pokud se vám líbí, nezapomeňte si ho stáhnout z jeho stránek a nejlépe k němu koupit i licenci. Ty nejdůležitější pluginy už znáte a další není problém najít v repositáři. Pokud vám nějaká funkce v Sublime Text 2 chybí, nic vám nebrání napsat si plugin úplně nový. Hodně štěstí při vývoji.

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.