Hlavní navigace

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

Adam Štrauch

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

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.

Našli jste v článku chybu?

10. 9. 2012 0:45

nemozem najst nikde funkciu alebo plugin podobny vimdiff
existuje nieco take?


31. 8. 2012 13:34

HonzaL (neregistrovaný)

Máte tam drobnou chybku u výpisu zkratek pro inkrementaci/de­krementaci - všude jen šipku nahoru.

Jinak díky za pěkné tipy na pluginy.

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: „Black Friday 2016“: závěrečné zhodnocení

„Black Friday 2016“: závěrečné zhodnocení

DigiZone.cz: Flix TV startuje i na Slovensku

Flix TV startuje i na Slovensku

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Co pomáhá dítěti při zácpě?

Co pomáhá dítěti při zácpě?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu