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í.
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.