Sublime Text – Plugin-uri

Plugin-urile sunt diferența dintre un soft meh și unul wow (imaginează-ți cum ar fi WordPress fără plugin-uri!). Sublime are foarte, foarte multe. Sigur, pădure fără uscături nu se poate, dar majoritatea – mă rog, cele încercate de mine – sunt foarte bune. Am preferat să dau link direct spre repository github pentru că multe sunt actualizate pentru Sublime 3 pe un branch separat (st3, py3, python3 etc; din păcate nu s-a stabilit nici o regulă și este un pic de haos)

În articolul de față îți voi spune ce plugin-uri folosesc (cu mici excepții) zilnic. În articolul următor îți voi arăta fișierele mele de configurare și îți voi prezenta câteva tips ce mi-ar fi plăcut să le aflu atunci când am început să folosesc editorul.

Plugin-urile se împart în două mari categorii: cele care repară sau îmbunătățesc unele funcționalități ale editorului și cele ce aduc funcționalități cu totul și cu totul noi.

Plugin-uri ce repară unele glitch-uri ale editorului

BracketHighlighter – Highlight pentru paranteze, ghilimele, și adaugă o grămadă de facilități (highlight la parantezele care nu sunt închise, la tag-uri, swap pentru paranteze și ghilimele șamd)

BufferScroll – Un fel de lecitină pentru editor. Îți redeschide fișierele exact cum le-ai lăsat (code folding, bookmarks, scroll etc)

SidebarEnhancements – By default, opțiunile disponibile la click 2 pe elementele din sidebar sunt foarte puține. Acest plugin adaugă câteva opțiuni suplimentare

Plugin-uri ce aduc noi funcționalități

Package Control. N-aș putea spune că este indispensabil, dar, cu siguranță este foarte util. Poți instala rapid aproape orice plugin disponibil pentru editor. Este primul în listă pentru că este util la instalarea celoralte plugin-uri.

Emmet – fiind disponibil ca plugin/add-on pentru foarte multe alte editoare, este genul de feature pe care, atunci când îl descoperi, te întrebi „cum ai putut supraviețui atâta amar de vreme fără el?”. Are o mulțime de features ce mă ajută în munca mea: Match tags, evaluare de expresii matematice, abreviere CSS/HTML etc. De exemplu:.foo{ m0+pl10+b5+p:a } se extinde în:

.foo {
  margin:0;
  padding-left:10px;
  bottom:5px;
  position:absolute;
}

Mai multe exemple găsești aici și, evident, pe site-ul plugin-ului.

Live Style – cel care a făcut Emmet a mers chiar mai departe: a făcut un fel de live reload, doar că ăsta este cu adevărat live. Nu știu cum e pe alte platforme, dar pe Windows Livereload are nevoie de cel puțin o secundă pentru a-și da seama că s-a schimbat ceva. Plugin-ul ăsta o face real time. Atât de real time încât nici nu e nevoie să salvezi fișierul!

Alignment și AlignTab – Ambele au un efect benefic asupra OCD-ul meu, făcând totul să fie aliniat și organizat. Aligntab este ceva mai flexibil, lăsându-te să introduci un pattern pentru aliniere.

SublimeLinter – face fix ce zice: lint la fișierele editate. Suportă o grămadă de limbaje.

Inc Dec Value – permite incrementarea/decrementarea unui număr sau a unui boolean. Chiar dacă există pull request cu un fix pentru ST3 de mai bine de jumătate de an, acesta nu a fost acceptat. Poți face clone la fork; funcționează fără probleme.

Open Include – deschizi fișierul ce se află sub cursor. De exemplu, dacă ai require( "fo|o.php" ) și apeși shortcut-ul Alt+D, îți va deschide fișierul foo.php. Caută destul de bine în proiectul curent și, dacă fișierul nu există, va fi creat.

Per Project Builds – ăsta e primul meu plugin adevărat (foarte complex de altfel!). L-am făcut pentru că am avut câteva proiecte în Symfony ce aveau nevoie uneori de un fel de deploy pentru bundles (ce erau de fapt ceva comenzi din terminal). După ce l-am făcut, mi-am dat seama că pot rula și task-uri grunt destul de ușor.

SFTP – adaugă suport pentru editarea fișierelor prin FTP/SFTP. Din păcate însă, lipsa unui API pentru sidebar își face simțită prezența mai mult decât oriunde, ceea ce înseamnă că deschiderea unui fișier de pe FTP fără a clona tot proiectul este destul de… ciudată.

Aici trebuie să lungesc un pic povestea, deoarece ăsta e un plugin un pic aparte, cu ajutorul căruia, dacă nu ești un pic atent, poți da acces tuturor la serverul tău. Cum? sftp-settings.json este fișierul de configurare pentru SFTP și se află în folderul proiectului sincronizat. Plugin-ul ignoră by default acest fișier, ceea ce înseamna că nu prea poti urca acest fișier pe server. Problema apare însă când folosești și alt client de FTP și urci toate fișierele. Inclusiv sftp-settings.json. Evident că lucrurile pot lua rapid o întorsătură neplăcută…

În fine, nu vrem să se întâmple astfel de minuni. Prin urmare, presupunând că folosești Apache, în fișierul .htaccess trebuie să adaugi:

<Files ~ "^sftp-config.json">
  Order allow,deny
  Deny from all
</Files>

Dacă nu folosești Apache, cel mai probabil serverul tău acceptă o metodă de a bloca accesul la anumite fișiere.

Plugin-uri ce merită menționate

Highlight pentru limbaje suplimentare

Teme

6 Comentarii to “Sublime Text – Plugin-uri”

  1. Bogdan Ciubotariu

    Mulțam pentru Cursor Ruler, simțeam foarte mult nevoia de așa ceva, dar nu mi-a dat prin cap să caut… :))))

  2. Staicu Ionuț-Bogdan

    Prima dată când l-am găsit mi s-a părut stupid și ușor inutil. Dar după câteva ore l-am dezactivat și ceva nu părea în regulă.

    Îți recomand și Gobble. Face parte din categoria „habar n-ai că ai nevoie” ;)

  3. Bogdan Ciubotariu

    Mersi, dar m-am uitat la video de prezentare și nu pare că m-ar ajuta cu ceva vreodată. Eu folosesc shift+delete pentru ștergerea rândurilor întregi și m-am obișnuit așa.

    O să-l testez, totuși, poate ai dreptate :D

  4. Staicu Ionuț-Bogdan

    Bogdan, diferența este că shift+delete îți șterge rândul curent și îți mută cursorul la începutul rândului următor (care practic ia locul fostului „rând curent”) în timp ce gobble șterge răndul curent și mută cursorul la sfârșitul rândului precedent.

    Uite aici un video rapid: http://img.iamntz.com/jing/video_2013-08-24-17@17h34_34.mp4

  5. Saroz Adriana Laura

    Iti recomand sa incerci si https://github.com/jisaacks/GitGutter daca nu ai avut inca ocazia.

  6. Staicu Ionuț-Bogdan

    Am încercat la un moment dat, dar mai mult de curiozitate. Nu am atât de multe modificări între commits încât să am nevoie de highlights în gutter :)

    Dacă nu mă înșel, am încercat pe ST2 și făcea tot editorul să se miște execrabil (în ST3 e posibil să se fi schimbat unele chestii, plugins fiind async).

Show trackbacks

Ți-a plăcut articolul? Lasă un comentariu!

You can insert code snippets using BBcode:
[js].[/js] [html].[/html] [php].[/php] [css].[/css]
You can also use some HTML tags:
<blockquote>.</blockquote> <code>.</code> <a href="">.</a> <strong>.</strong> <em>.</em>

windows apple dropbox facebook twitter