Wéi d'Produktivitéit mat Sublimen Text Snippets ze stäerken


Laang Geschicht kuerz, Viru kuerzem krut ech e Projet a menger Aarbecht zougewisen wou ech vill Bash Scripte musse kreéieren. Ech sinn aus engem Python Hannergrond a benotzen Jupyter Notebook fir all meng Entwécklungsaarbecht. De Problem mat Bash Scripte fir mech ass seng konfus Klammerverbrauch a repetitive Block vu Coden iwwer all meng Scripten.

Bis zu deem Zäitpunkt hunn ech SUBLIME TEXT 3” benotzt als mäi Go-to Editor fir Bash an aner Programméierungssproochen. Ech hunn vill Snippets fir repetitive Funktiounen, One-Liner a Kontrollblocken fir Bash Scripten erstallt, déi net nëmmen Zäit gespuert hunn, awer och meng Produktivitéit verbessert hunn.

Snippets sinn eng populär Programméierungsfunktioun/Funktionalitéit déi mat ville modernen IDE Editoren verschéckt gëtt. Dir kënnt u Snippets als Schabloun denken, déi ka benotzt ginn wann et néideg ass. Snippets sinn net limitéiert op speziell Programméierungssproochen. Dir kënnt einfach en neien Ausschnëtt erstellen, all Text addéieren deen Dir wëllt agesat ginn an en Ausléiserwuert zouginn. Mir wäerten all dës Funktiounen an der nächster Sektioun gesinn.

Fir definéiert Snippets am Sublimen Text ze lëschten

Par défaut verschéckt sublime Text mat e puer virdefinéierte Snippets fir de Bash. Et wäert d'Snippets intelligent weisen op Basis vun der aktueller Datei, déi mir no der Snippet sichen. Ech sinn an engem Shell-Skript a wann ech d'Kommando Palette opruffen an d'Snippet tippen, gëtt et automatesch eng Lëscht vun definéierte Snippets fir de Bash.

Et ginn zwou Weeër wéi Dir Snippets am Sublime Text kënnt.

  1. MENU DRIVEN ⇒ SUBLIME TEXT → TOOLS → SNIPPETS
  2. KOMMANDOPALETTE ⇒ SUBLIME TEXT → KOMMANDOPALETTE (CTRL+SHIFT+P) → TYPE SNIPPETS

Erstellt en neie Snippets am Sublime Text

Sublime Text bitt eng Standardschabloun am XML-Format wa mir en neien Snippet erstellen. Fir d'Schabloun ze kreéieren krut TEXT SUBLIME → TOOLS → DEVELOPER → NEW SNIPPET.

Loosst eis d'Schabloun Definitioun verstoen an d'Parameter änneren.

  • Den aktuellen Inhalt oder de Block vum Code, deen agefouert gëtt, soll bannent plazéiert ginn. Ech erstellen en Ausschnëtt fir Header Kommentar. All Skript, deen Dir erstellt, wäert en Header-Kommentar hunn, deen d'Informatioun iwwer de Skript definéiert wéi Autornumm, erstallt Datum, Versiounsnummer, Deploymentdatum, etc.
  • Tabtrigger (Optional) deen en TEXT bindt, deen als Ausléiser fir den Snippet wierkt. Wann den Ausléisernumm aginn ass an Dir dréckt op TAB, gëtt de Snippet agebaut. Et gëtt als Standard kommentéiert, läscht de Kommentar a füügt e puer Text fir den Ausléiser un. Wielt en deskriptiven a kuerzen Numm. Zum Beispill: Ech wiele \hcom fir Header-Kommentaren anzeféieren. Et kann alles vun Ärer Wiel sinn.
  • Scope (Optional) definéiert un wéi eng Sprooch Dir Snippets verbonne sinn. Dir kënnt mat 2 oder 3 verschiddene Programméierungssprooche gläichzäiteg schaffen an Dir kënnt dee selwechten Numm fir verschidde Snippets a verschiddene Programméierungssproochen benotzen. An deem Fall kontrolléiert den Ëmfang, a wéi eng Sprooch Dir ausschnëtt soll agesat ginn fir esou d'Kollisioun ze vermeiden. Dir kënnt d'Lëscht vun den Ëmfang vum Link kréien. Alternativ kënnt Dir op TOOLS → DEVELOPER → WEISEN SCOPE NAME goen oder dréckt fir den Ëmfangsnumm vun der Sprooch ze kréien, déi Dir benotzt.
  • Beschreiwung (fakultativ) wäert net an der Default-Schabloun verfügbar sinn, awer Dir kënnt se benotze fir e Kontext ze definéieren op wat dësen Snippet mécht.

Elo hu mir e puer grondleeënd Saachen gemaach. Mir hunn e Snippet definéiert, deen en einfachen Header-Kommentar asetzt, deen mam \hcom Tab-Ausléiser verbënnt an op Shell-Skript Sourcen.

Loosst eis elo eng nei Bash Datei opmaachen an Typ hcom. Wann Dir d'Bild hei drënner kuckt wann ech h tippen, erschéngt meng Snippet Definitioun just mat der Beschreiwung déi mir ginn hunn. Alles wat ech maache muss ass den <tab> Schlëssel drécken fir se auszebauen.

Felder gi mat $1, $2, $3 a sou weider bezeechent. Mat der Hëllef vum Feld kënnt Dir op d'Positioun sprangen wou de Feldmarker plazéiert ass andeems Dir einfach op <tab> Schlëssel dréckt.

Wann Dir meng Snippet kuckt, hunn ech zwee Feldmarkéierer $1 an $2 bäigefüügt, wat et mécht ass wann ech mäi Snippet aginn, de Cursor gëtt op gesat. $1 also kann ech eppes op där Positioun tippen.

Da muss ech den <tab> Schlëssel drécken fir op den nächste Marker $2 ze sprangen an eppes ze tippen. Et ass ze bemierken datt wann Dir en identesche Marker hutt, seet $1 an dësem Fall op 2 Positiounen, d'Aktualiséierung vum Feld op enger Positioun wäert déi identesch Felder ($1) aktualiséieren.

  • <tab> Schlëssel → Gitt op den nächste Feldmarker.
  • Schlëssel → Sprangen op de fréiere Feldmarker.
  • Schlëssel → Aus Feldzyklus ausbriechen.
  • $0 → Kontrolléiert den Ausgangspunkt.

Plazhalter si wéi e Schlëssel-Wäertpaar definéiert an de Curly Klammern $ {0:}; de Feldmarker gëtt mat engem Standardwäert markéiert. Dir kënnt entweder de Wäert änneren oder et loossen wéi et ass. Wann de Snippet agefouert gëtt a wann Dir op d'Tab dréckt, gëtt de Cursor um Standardwäert gesat.

Elo gëtt den Snippet mam Standardwäert agebaut an d'Maus gëtt op $1 gesat, wat an dësem Fall v1 ass. Entweder kann ech de Wäert änneren oder einfach dréckt <tab> de Schlëssel fir op den nächste Marker ze goen.

Deen eenzegen Nodeel mat Sublime Text Snippets ass, Dir kënnt net all Snippets an enger eenzeger Datei gruppéieren. Nëmmen een Ausschnëtt pro Datei ass erlaabt wat ëmständlech ass. Awer et ginn aner Optiounen wéi .sublime-completion Dateien erstellen. Fir méi iwwer dëst ze wëssen, kuckt d'Dokumentatioun.

D'Snippetdateien solle mam Suffix .sublime-snippet gespäichert ginn. Gitt op PREFERENCES → Browse PACKAGES. Et wäert den Verzeechnes opmaachen wou Benotzerdefinéiert Astellunge gespäichert sinn. Gitt an den Dossier \Benotzer wou Är Snippetdatei gespäichert gëtt.

VSCode. Gidd d'Beschreiwung, d'Tab-Ausléiser an den Inhalt op der lénker Säit déi Live-Code op der rietser Säit vun der Säit generéiert.

Sample Snippet deen de Cluster Numm vun der Ambari API kritt.

Dat ass alles fir haut. Mir hunn d'Virdeeler vun der Benotzung vun Snippets am sublimen Text gesinn. Ech hu just en einfachen Pseudo Text als Beispill benotzt fir d'Snippets Feature ze demonstréieren awer et ass vill méi derzou. Ech géif och drop hiweisen datt dës Feature verfügbar ass an all Editor/IDE wéi Vim, Atom, Eclipse, Pycharm, Vscode, etc.