Slik øker du produktiviteten med sublime tekstutdrag


Lang historie kort, nylig ble jeg tildelt et prosjekt i arbeidet mitt der jeg må lage mange bash-manus. Jeg har pythonbakgrunn og bruker Jupyter Notebook til alt utviklingsarbeidet mitt. Problemet med bash-skript for meg er dets forvirrende bruk av parentes og repeterende blokk med koder på tvers av alle skriptene mine.

Inntil det tidspunktet brukte jeg SUBLIME TEXT 3 som redaktør for bash og andre programmeringsspråk. Jeg laget mange utdrag for repeterende funksjoner, one-liners og kontrollblokker for bash-skript som ikke bare sparte tid, men også forbedret produktiviteten min.

Snippets er en populær programmeringsfunksjon/funksjonalitet som følger med mange moderne IDE-redigerere. Du kan tenke på utdrag som en mal som kan gjenbrukes når det er nødvendig. Snippets er ikke begrenset til bestemte programmeringsspråk. Du kan ganske enkelt lage en ny kodebit, legge til hvilken som helst tekst du vil sette inn og tilordne et utløserord. Vi vil se alle disse funksjonene i den kommende delen.

For å vise definerte tekstutdrag i sublim tekst

Som standard leveres sublim tekst med noen forhåndsdefinerte utdrag for bash. Det vil smart vise utdragene basert på gjeldende fil vi søker etter utdraget fra. Jeg er inne i et skallskript, og når jeg påkaller kommandopaletten og skriver snippet, gir det automatisk en liste over definerte utdrag for bashen.

Det er to måter du kan få tilgang til tekstutdrag i Sublime Text.

  1. MENYDREVET ⇒ SUBLIME TEKST → VERKTØY → SNIPPETTER
  2. KOMMANDOPALETT ⇒ SUBLIME TEKST → KOMMANDOPALETT (CTRL+SHIFT+P) → TYPE SNIPPETS

Lag en ny tekstutdrag i sublim tekst

Sublime tekst gir en standard mal i XML-format når vi lager en ny kodebit. For å lage malen må du SUBLIMER TEKST → VERKTØY → UTVIKLER → NY SNITPE.

La oss forstå maldefinisjonen og endre parametrene.

  • Det faktiske innholdet eller kodeblokken som skal settes inn, bør plasseres innenfor . Jeg skal lage en kodebit for overskriftskommentar. Hvert skript du oppretter vil ha en overskriftskommentar som definerer informasjonen om skriptet som forfatternavn, opprettet dato, versjonsnummer, distribusjonsdato osv.
  • Tabtrigger (valgfritt) som binder en «TEXT» som fungerer som en utløser for kodebiten. Når utløsernavnet er skrevet inn og du trykker på TAB, vil kodebiten bli satt inn. Den kommenteres som standard, fjern kommentaren og legg til litt tekst for utløseren. Velg et beskrivende og kort navn. For eksempel: Jeg velger \hcom for å sette inn topptekstkommentarer. Det kan være hva som helst etter eget valg.
  • Omfang (valgfritt) definerer hvilket språk tekstutdragene dine er knyttet til. Du kan jobbe med 2 eller 3 forskjellige programmeringsspråk om gangen, og du kan bruke samme navn for forskjellige utdrag på tvers av forskjellige programmeringsspråk. I så fall kontrollerer omfanget hvilket språk du skal sette inn kodebiten til for å unngå kollisjonen. Du kan få listen over omfang fra Link. Alternativt kan du gå til VERKTØY → UTVIKLER → VIS OMFANGNAVN eller Trykk for å få omfangsnavnet til språket du bruker.
  • Beskrivelse (valgfritt) vil ikke være tilgjengelig i standardmalen, men du kan bruke den til å definere kontekst for hva denne kodebiten gjør.

Nå har vi gjort noen grunnleggende ting. Vi har definert en kodebit som vil sette inn en enkel overskriftskommentar som binder seg til «hcom»-faneutløseren og hentet til shell-skriptet.

La oss nå åpne en ny bash-fil og skriv hcom. Hvis du ser på bildet nedenfor når jeg skriver h dukker tekstutdragdefinisjonen min opp med beskrivelsen vi ga. Alt jeg trenger å gjøre er å trykke på <tab>-tasten for å utvide den.

Felt er merket med $1, $2, $3 og så videre. Ved hjelp av feltet kan du hoppe til posisjonen der feltmarkøren er plassert ved å trykke på <tab>-tasten.

Hvis du tar en titt på kodebiten min, har jeg lagt til to feltmarkører $1 og $2, det den gjør er når jeg setter inn kodebiten min, plasseres markøren på $1 slik at jeg kan skrive noe på den posisjonen.

Deretter må jeg trykke på <tab>-tasten for å hoppe til neste markør $2 og skrive noe. Det er å merke seg at når du har en identisk markør, si $1 i dette tilfellet ved 2 posisjoner, vil oppdatering av feltet på én posisjon oppdatere de identiske feltene ($1).

  • <tab>-tast → Hopp til neste feltmarkør.
  • -tast → Hopp til forrige feltmarkør.
  • -tast → Bryt ut av feltsyklus.
  • $0 → Kontrollerer utgangspunktet.

Plassholdere er som et nøkkelverdi-par definert innenfor krøllete klammeparenteser $ {0:}; feltmarkøren vil bli merket med en standardverdi. Du kan enten endre verdien eller la den være som den er. Når kodebiten er satt inn og hvis du trykker på fanen, vil markøren bli plassert på standardverdien.

Nå er kodebiten satt inn med standardverdien og musen plasseres på $1 som er v1 i dette tilfellet. Enten kan jeg endre verdien eller bare trykke <tab> tasten for å gå til neste markør.

Den eneste ulempen med Sublime Text-biter er at du ikke kan gruppere alle utdragene i en enkelt fil. Bare én kodebit per fil er tillatt, noe som er tungvint. Men det finnes andre alternativer som å lage .sublime-completion-filer. For å vite mer om dette, ta en titt på dokumentasjonen.

Snuttfilene skal lagres med suffikset .sublime-snippet. Gå til PREFERANSER → SE PAKKER. Den vil åpne katalogen der brukerdefinerte innstillinger er lagret. Gå til katalogen \Bruker der kodebitfilen vil bli lagret.

VSCode. Skriv inn beskrivelsen, faneutløseren og innholdet på venstre side som vil generere live-kode på høyre side av siden.

Eksempelkodebit som får klyngenavn fra Ambari API.

Det var alt for i dag. Vi har sett fordelene ved å bruke utdrag i sublim tekst. Jeg har nettopp brukt en enkel pseudotekst som et eksempel for å demonstrere snippets-funksjonen, men det er mye mer. Jeg vil også påpeke at denne funksjonen er tilgjengelig i alle editorer/IDE som Vim, Atom, Eclipse, Pycharm, Vscode, etc.