Sådan øges produktiviteten med sublime tekstuddrag


Lang historie kort, for nylig blev jeg tildelt et projekt i mit arbejde, hvor jeg skal oprette mange bash-scripts. Jeg har en pythonbaggrund og bruger Jupyter Notebook til alt mit udviklingsarbejde. Problemet med bash-scripts for mig er dets forvirrende brug af parentes og gentagne blok af koder på tværs af alle mine scripts.

Indtil det tidspunkt brugte jeg Nano-editor til at oprette bash-scripts. Nano giver nogle grundlæggende funktioner som terminaleditor, men ikke ud over et punkt. Så jeg undersøgte og valgte "SUBLIME TEXT 3" som min go-to-editor til bash og andre programmeringssprog. Jeg oprettede mange uddrag til gentagne funktioner, one-liners og kontrolblokke til bash-scripts, som ikke kun sparte tid, men også forbedrede min produktivitet.

Snippets er en populær programmeringsfunktion/funktionalitet, der leveres med mange moderne teksteditorer eller IDE-redaktører. Du kan tænke på uddrag som en skabelon, der kan genbruges, når det er nødvendigt. Stykker er ikke begrænset til bestemte programmeringssprog. Du kan blot oprette et nyt uddrag, tilføje enhver tekst, du vil indsætte, og tildele et udløsningsord. Vi vil se alle disse funktioner i det kommende afsnit.

At liste definerede uddrag i sublim tekst

Som standard sendes sublim tekst med nogle foruddefinerede uddrag til bash. Det viser smart uddrag ud fra den aktuelle fil, vi søger efter uddraget fra. Jeg er inde i et shell-script, og når jeg påberåber kommandopallen og skriver uddrag, giver det automatisk en liste over definerede uddrag til bash.

Der er to måder, du kan få adgang til uddrag i sublim tekst.

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

Opret en ny uddrag i sublim tekst

Sublim tekst giver en standardskabelon i XML-format, når vi opretter et nyt kodestykke. For at oprette skabelonen kom til SUBLIME TEXT → VÆRKTØJ → UDVIKLER → NY SNIPPET.

Lad os forstå skabelondefinitionen og ændre parametrene.

  • The actual content or block of code to be inserted should be placed within <content><![CDATA[ ]]></content>. I am going to create a snippet for “header comment“. Every script you create will have a header comment defining the information about the script like author name, created date, version number, deployment date, etc..
  • Tabtrigger (Optional) which binds a “TEXT” that acts as a trigger for the snippet. When the trigger name is typed and you press the “TAB“, the snippet will be inserted. It is commented by default, remove the comment, and add some text for the trigger. Choose a descriptive and short name. For Ex: I am choosing “hcom” for inserting header comments. It can be anything of your choice.
  • Scope (Optional) defines to which language you snippets are bonded to. You may work with 2 or 3 different programming languages at a time and you might use the same name for different snippets across different programming languages. In that case scope controls to which language you snippet should be inserted to thus avoiding the collision. You can get the list of scopes from Link. Alternatively, you can go to TOOLS → DEVELOPER → SHOW SCOPE NAME or Press <CTRL+ALT+SHIFT+P> to get the scope name of the language you are using.
  • Description (Optional) will not be available in the default template but you can use it to define some context on what this snippet does.

Nu har vi lavet nogle grundlæggende ting. Vi har defineret et uddrag, der indsætter en simpel overskriftskommentar, der binder med "hcom" -tab-fanen og hentes til shell-script.

Lad os nu åbne en ny bash-fil og "skriv hcom". Hvis du ser på nedenstående billede, når jeg “skriver h”, kommer min uddragsdefinition bare op med den beskrivelse, vi gav. Alt hvad jeg skal gøre er at trykke på <tab> -tasten for at udvide den.

Felter betegnes med , , og så videre. Ved hjælp af marken kan du springe til den position, hvor feltmarkøren placeres ved blot at trykke på <tab> -tasten.

Hvis du ser på mit uddrag, har jeg tilføjet to feltmarkører og , hvad det gør er, når jeg indsætter mit uddrag, markøren placeres ved så jeg kan skrive noget på den position.

Derefter skal jeg trykke på <tab> -tasten for at springe til den næste markør og skrive noget. Det skal bemærkes, at når du har en identisk markør, siger i dette tilfælde på to positioner, opdaterer feltet på en position de samme felter () .

  • <tab> key → Jump to the next field marker.
  • <shift+tab> key → Jump to previous field marker.
  • <Esc> key → Break out of field cycle.
  • $0 → Controls the exit point.

Stedholdere er som et nøgleværdipar defineret i krøllede parenteser & # 36 {0: }; markøren markeres med en standardværdi. Du kan enten ændre værdien eller lade den være. Når uddraget indsættes, og hvis du trykker på fanen, placeres markøren på standardværdien.

Nu indsættes kodestykket med standardværdien, og musen placeres ved , som i dette tilfælde er v1 . Enten kan jeg ændre værdien eller bare trykke på <tab> -tasten for at flytte til den næste markør.

Den eneste ulempe ved sublime tekstuddrag er, at du ikke kan gruppere alle uddrag i en enkelt fil. Kun et uddrag pr. Fil er tilladt, hvilket er besværligt. Men der er andre muligheder som at oprette .sublime-finishing filer. Hvis du vil vide mere om dette, skal du se på dokumentationen.

Stykkefilerne skal gemmes med suffikset .sublime-snippet . Gå til FORETRUKNE → BLÆS PAKKER. Det åbner det bibliotek, hvor brugerdefinerede indstillinger er gemt. Gå til biblioteket "Bruger", hvor din uddragsfil gemmes.

Snippet-generator-app leverer webbaseret automatisk generering af snippet baseret på vores input. Den er tilgængelig til Sublime Text, Atom og VSCode. Indtast beskrivelsen, tabulatorudløseren og indholdet i venstre side, som genererer live-kode i højre side af siden.

Eksempel på uddrag, der får klyngenavn fra Ambari API.

Det er alt for i dag. Vi har set fordelene ved at bruge uddrag i sublim tekst. Jeg har lige brugt en simpel pseudotekst som et eksempel for at demonstrere uddragets funktion, men der er meget mere til det. Jeg vil også påpege, at denne funktion er tilgængelig i hele editoren/IDE som Vim, Atom, Eclipse, Pycharm, Vscode osv.