Kako povećati produktivnost uz uzvišene isječke teksta


Ukratko, nedavno sam dobio zadatak da radim na projektu u kojem moram da kreiram mnogo bash skripti. Ja sam iz python pozadine i koristim Jupyter Notebook za sav svoj razvojni rad. Problem sa bash skriptama za mene je njihova zbunjujuća upotreba zagrada i ponavljajući blok kodova u svim mojim skriptama.

Do tog trenutka, koristio sam Nano editor za kreiranje bash skripti. Nano pruža neke osnovne karakteristike kao uređivač terminala, ali ne više od jedne tačke. Zato sam istražio i izabrao “SUBLIME TEXT 3” kao moj glavni urednik za bash i druge programske jezike. Napravio sam mnogo isječaka za funkcije koje se ponavljaju, jednostruke i kontrolne blokove za bash skripte koji ne samo da su uštedjeli vrijeme već su i poboljšali moju produktivnost.

Šta je isječak?

Isječci su popularna programska funkcija/funkcionalnost koja se isporučuje s mnogim modernim uređivačima teksta ili IDE uređivačima. Možete razmišljati o isječcima kao o predlošku koji se može ponovo koristiti kad god je to potrebno. Isječci nisu ograničeni na određene programske jezike. Možete jednostavno kreirati novi isječak, dodati bilo koji tekst koji želite da bude umetnut i dodijelite riječ pokretača. Sve ove karakteristike ćemo vidjeti u narednom odjeljku.

Za popis definiranih isječaka u uzvišenom tekstu

Prema zadanim postavkama uzvišeni tekst se isporučuje s nekim unaprijed definiranim isječcima za bash. Pametno će prikazati isječke na osnovu trenutnog fajla iz kojeg tražimo isječak. Ja sam unutar shell skripte i kada pozovem komandu pallet i otkucam snippet, ona automatski daje listu definisanih isječaka za bash.

Postoje dva načina na koja možete pristupiti isječcima u Sublime Textu.

  1. VOĐEN MENIJEM ⇒ UZVIŠENI TEKST → ALATI → ISJEČCI
  2. PALETA KOMANDA ⇒ UZVIŠENI TEKST → PALETA KOMANDA (CTRL+SHIFT+P) → TIPI ISJEČKOVI

Kreirajte nove isječke u uzvišenom tekstu

Sublime tekst daje zadani predložak u XML formatu kada kreiramo novi isječak. Za kreiranje šablona potrebno je SUBLIME TEXT → ALATI → DEVELOPER → NOVI SNIPPET.

Hajde da razumemo definiciju šablona i izmenimo parametre.

  • Stvarni sadržaj ili blok koda koji treba umetnuti treba staviti unutar . Napravit ću isječak za „komentar u zaglavlju“. Svaka skripta koju kreirate imat će komentar u zaglavlju koji definira informacije o skripti poput imena autora, datuma kreiranja, broja verzije, datuma implementacije itd.
  • Tabtrigger (Opcionalno) koji povezuje “TEXT” koji djeluje kao okidač za isječak. Kada se otkuca ime okidača i pritisnete „TAB“, isječak će biti umetnut. Podrazumevano je komentarisan, uklonite komentar i dodajte malo teksta za okidač. Odaberite opisno i kratko ime. Na primjer: biram “hcom ” za umetanje komentara u zaglavlju. Može biti bilo šta po vašem izboru.
  • Opseg (opcionalno) definira za koji jezik su vaši isječci povezani. Možete raditi sa 2 ili 3 različita programska jezika istovremeno i možete koristiti isto ime za različite isječke na različitim programskim jezicima. U tom slučaju opseg kontroliše u koji jezik treba umetnuti isječak kako bi se izbjegla kolizija. Listu opsega možete dobiti na Linku. Alternativno, možete otići na ALATI → RAZVOJNICI → PRIKAŽI NAZIV OPSEGA ili pritisnuti da dobijete naziv opsega jezika koji koristite.
  • Opis (Opcionalno) neće biti dostupan u zadanom predlošku, ali ga možete koristiti da definirate neki kontekst onoga što ovaj isječak radi.

Sada smo uradili neke osnovne stvari. Definirali smo isječak koji će umetnuti jednostavan komentar u zaglavlju koji se povezuje sa okidačem kartice “hcom” i izvorom je na shell skripti.

Sada otvorimo novi bash fajl i „upišite hcom“. Ako pogledate donju sliku kada "ukucam h" moja definicija isječka jednostavno iskoči s opisom koji smo dali. Sve što treba da uradim je da pritisnem taster <tab> da ga proširim.

Polja

Polja se označavaju pomoću $1, $2, $3 i tako dalje. Uz pomoć polja možete skočiti na poziciju na kojoj se nalazi marker polja jednostavnim pritiskom na tipku <tab>.

Ako pogledate moj isječak, dodao sam dva markera polja $1 i $2, ono što radi je kada ubacim svoj isječak, kursor će biti postavljen na $1 tako da mogu upisati nešto na toj poziciji.

Zatim moram pritisnuti tipku <tab> da skočim na sljedeći marker $2 i ukucam nešto. Treba primijetiti da kada imate bilo koji identičan marker recimo $1 u ovom slučaju na 2 pozicije, ažuriranje polja na jednoj poziciji će ažurirati identična polja ($1).

  • <tab> tipka → Skoči na sljedeći označivač polja.
  • taster → Skoči na prethodni marker polja.
  • tipka → Izlazak iz ciklusa polja.
  • $0 → Kontrolira izlaznu tačku.

Place Holder

Držači mjesta su poput para ključ/vrijednost definisanog u vitičastim zagradama $ {0:}; marker polja će biti označen zadanom vrijednošću. Možete ili promijeniti vrijednost ili je ostaviti onakvu kakva jeste. Kada je isječak umetnut i ako pritisnete karticu, kursor će biti postavljen na zadanu vrijednost.

Sada je isječak umetnut sa zadanom vrijednošću i miš je postavljen na $1 što je u ovom slučaju v1. Ili mogu izmijeniti vrijednost ili samo pritisnuti <tab> tipku za prelazak na sljedeći marker.

Jedini nedostatak sa Sublime Text isječcima je to što ne možete grupirati sve isječke u jednu datoteku. Dozvoljen je samo jedan isječak po datoteci što je glomazno. Ali postoje i druge opcije poput kreiranja datoteka .sublime-completion. Da biste saznali više o tome, pogledajte dokumentaciju.

Gdje je pohranjen moj snippet fajl?

Datoteke isječaka treba sačuvati sa sufiksom .sublime-snippet. Idite na PREFERENCIJEPREGLEDAJ PAKETE. Otvorit će se direktorij u kojem su pohranjene korisnički definirane postavke. Idite na direktorij “Korisnik” gdje će biti sačuvan vaš fajl isječka.

Snippet Generator

Snippet-generator-app pruža automatsko generiranje isječaka zasnovano na webu na osnovu našeg unosa. Dostupan je za Sublime Text, Atom i VSCode. Upišite opis, okidač kartice i sadržaj na lijevoj strani koji će generirati živi kod na desnoj strani stranice.

Primjer isječka koji će dobiti ime klastera iz Ambari API-ja.

To je sve za danas. Vidjeli smo prednosti korištenja isječaka u uzvišenom tekstu. Upravo sam koristio jednostavan pseudo tekst kao primjer da demonstriram funkciju isječaka, ali ima još mnogo toga. Također bih istakao da je ova funkcija dostupna u svim editorima/IDE kao što su Vim, Atom, Eclipse, Pycharm >, Vscode, itd.