Zoeken op website

Hoe u de productiviteit kunt verhogen met sublieme tekstfragmenten


Om een lang verhaal kort te maken: Onlangs werd ik toegewezen aan een project op mijn werk waarbij ik veel bash-scripts moest maken. Ik heb een Python-achtergrond en gebruik Jupyter Notebook voor al mijn ontwikkelingswerk. Het probleem met bash-scripts is voor mij het verwarrende gebruik van haakjes en het repetitieve blok codes in al mijn scripts.

Tot dat moment gebruikte ik de Nano-editor om bash-scripts te maken. Nano biedt enkele basisfuncties als terminaleditor, maar niet verder dan een punt. Dus deed ik mijn onderzoek en selecteerde “SUBLIME TEXT 3” als mijn favoriete editor voor bash en andere programmeertalen. Ik heb veel fragmenten gemaakt voor repetitieve functies, oneliners en controleblokken voor bash-scripts, wat niet alleen tijd bespaarde maar ook mijn productiviteit verbeterde.

Wat is een fragment?

Snippets zijn een populaire programmeerfunctie/functionaliteit die bij veel moderne teksteditors of IDE-editors wordt geleverd. U kunt fragmenten beschouwen als een sjabloon die indien nodig opnieuw kan worden gebruikt. Fragmenten zijn niet beperkt tot bepaalde programmeertalen. U kunt eenvoudig een nieuw fragment maken, de gewenste tekst toevoegen en een triggerwoord toewijzen. We zullen al deze functies in de komende sectie zien.

Om gedefinieerde fragmenten in sublieme tekst weer te geven

Standaard wordt sublieme tekst geleverd met enkele vooraf gedefinieerde fragmenten voor de bash. Het zal de fragmenten slim weergeven op basis van het huidige bestand waarin we naar het fragment zoeken. Ik zit in een shellscript en wanneer ik het commando pallet aanroep en snippet typ, biedt het automatisch een lijst met gedefinieerde fragmenten voor de bash.

Er zijn twee manieren waarop u toegang krijgt tot fragmenten in Sublime Text.

  1. MENUGEDREVEN ⇒ SUBLIEME TEKST → TOOLS → SNIPPETS
  2. OPDRACHTENPALET ⇒ SUBLIEME TEKST → OPDRACHTENPALET (CTRL+SHIFT+P) → TYPE SNIPPETS

Maak een nieuwe fragmenten in sublieme tekst

Sublieme tekst biedt een standaardsjabloon in XML-indeling wanneer we een nieuw fragment maken. Om de sjabloon te maken, gaat u naar SUBLIME TEKST → TOOLS → ONTWIKKELAAR → NIEUW SNIPPET.

Laten we de sjabloondefinitie begrijpen en de parameters aanpassen.

  • De daadwerkelijke inhoud of het codeblok dat moet worden ingevoegd, moet binnen worden geplaatst. Ik ga een fragment maken voor “headercommentaar“. Elk script dat u maakt, heeft een headercommentaar waarin de informatie over het script wordt gedefinieerd, zoals de naam van de auteur, de aanmaakdatum, het versienummer, de implementatiedatum, enz.
  • Tabtrigger (optioneel) die een “TEKST” bindt die fungeert als trigger voor het fragment. Wanneer de triggernaam wordt getypt en u op de “TAB“ drukt, wordt het fragment ingevoegd. Er wordt standaard commentaar op gegeven, verwijder de opmerking en voeg wat tekst toe voor de trigger. Kies een beschrijvende en korte naam. Bijvoorbeeld: ik kies “hcom” voor het invoegen van headercommentaar. Het kan alles naar keuze zijn.
  • Bereik (optioneel) bepaalt aan welke taal uw fragmenten zijn gekoppeld. U kunt met twee of drie verschillende programmeertalen tegelijk werken en u kunt dezelfde naam gebruiken voor verschillende fragmenten in verschillende programmeertalen. In dat geval bepaalt scope in welke taal uw fragment moet worden ingevoegd om zo botsingen te voorkomen. U kunt de lijst met scopes verkrijgen via Link. U kunt ook naar TOOLS → ONTWIKKELAAR → SCOPE NAAM TONEN gaan of op drukken om de scopenaam op te halen van de taal die u gebruikt.
  • Beschrijving (optioneel) is niet beschikbaar in de standaardsjabloon, maar u kunt deze gebruiken om wat context te definiëren over wat dit fragment doet.

Nu hebben we wat basiszaken gedaan. We hebben een fragment gedefinieerd dat een eenvoudige koptekstcommentaar invoegt, die wordt gekoppeld aan de tabbladtrigger 'hcom' en is afkomstig van het shell-script.

Laten we nu een nieuw bash-bestand openen en “type hcom“. Als je naar de onderstaande afbeelding kijkt wanneer ik “type h” typ, verschijnt mijn fragmentdefinitie gewoon met de beschrijving die we hebben gegeven. Het enige dat ik hoef te doen is op de <tab>-toets drukken om het uit te vouwen.

Velden

Velden worden aangegeven met $1, $2, $3 enzovoort. Met behulp van het veld kunt u naar de positie springen waar de veldmarkering is geplaatst door simpelweg op de <tab>-toets te drukken.

Als je naar mijn fragment kijkt, heb ik twee veldmarkeringen $1 en $2 toegevoegd. Wat het doet is dat wanneer ik mijn fragment invoeg, de cursor op wordt geplaatst $1 zodat ik op die positie iets kan typen.

Vervolgens moet ik op de <tab>-toets drukken om naar de volgende markering $2 te springen en iets te typen. Opgemerkt moet worden dat wanneer u een identieke markering heeft, bijvoorbeeld $1, in dit geval op 2 posities, het bijwerken van het veld op één positie de identieke velden ($1) zal bijwerken.

  • <tab>-toets → Spring naar de volgende veldmarkering.
  • -toets → Spring naar de vorige veldmarkering.
  • -toets → Doorbreek de veldcyclus.
  • $0 → Beheert het uitgangspunt.

Plaatshouder

Plaatshouders zijn als een sleutel-waardepaar gedefinieerd tussen accolades $ {0:}; de veldmarkering wordt getagd met een standaardwaarde. U kunt de waarde wijzigen of deze laten zoals deze is. Wanneer het fragment wordt ingevoegd en u op het tabblad drukt, wordt de cursor op de standaardwaarde geplaatst.

Nu wordt het fragment ingevoegd met de standaardwaarde en wordt de muis op $1 geplaatst, wat in dit geval v1 is. Ik kan de waarde wijzigen of gewoon op de <tab>-toets drukken om naar de volgende markering te gaan.

Het enige nadeel van Sublime Text-fragmenten is dat je niet alle fragmenten in één bestand kunt groeperen. Er is slechts één fragment per bestand toegestaan, wat omslachtig is. Maar er zijn andere opties, zoals het maken van .sublime-completion-bestanden. Wilt u hier meer over weten, bekijk dan de documentatie.

Waar wordt mijn fragmentbestand opgeslagen?

De fragmentbestanden moeten worden opgeslagen met het achtervoegsel .sublime-snippet. Ga naar VOORKEURENBladeren door pakketten. Het opent de map waarin door de gebruiker gedefinieerde instellingen zijn opgeslagen. Ga naar de directory “Gebruiker” waar uw fragmentbestand zal worden opgeslagen.

Fragmentgenerator

Snippet-generator-app biedt webgebaseerde automatische generatie van fragmenten op basis van onze input. Het is beschikbaar voor Sublime Text, Atom en VSCode. Typ de beschrijving, de tabtrigger en de inhoud aan de linkerkant, waardoor live code aan de rechterkant van de pagina wordt gegenereerd.

Voorbeeldfragment dat de clusternaam krijgt van de Ambari API.

Dat is alles voor vandaag. We hebben de voordelen gezien van het gebruik van fragmenten in sublieme tekst. Ik heb zojuist een eenvoudige pseudotekst als voorbeeld gebruikt om de functie voor fragmenten te demonstreren, maar er komt nog veel meer bij kijken. Ik wil er ook op wijzen dat deze functie beschikbaar is in alle editors/IDE's zoals Vim, Atom, Eclipse, Pycharm >, Vscode, enz.