Website-Suche

So steigern Sie die Produktivität mit großartigen Textausschnitten


Lange Rede, kurzer Sinn: Kürzlich wurde mir in meiner Arbeit ein Projekt zugewiesen, bei dem ich viele Bash-Skripte erstellen muss. Ich habe einen Python-Hintergrund und verwende Jupyter Notebook für meine gesamte Entwicklungsarbeit. Das Problem mit Bash-Skripten ist für mich die verwirrende Verwendung von Klammern und die sich wiederholenden Codeblöcke in allen meinen Skripten.

Bis zu diesem Zeitpunkt habe ich den Nano-Editor zum Erstellen von Bash-Skripten verwendet. Nano bietet als Terminal-Editor einige grundlegende Funktionen, jedoch nicht mehr als einen Punkt. Also habe ich recherchiert und „SUBLIME TEXT 3“ als meinen bevorzugten Editor für Bash und andere Programmiersprachen ausgewählt. Ich habe viele Snippets für sich wiederholende Funktionen, Einzeiler und Kontrollblöcke für Bash-Skripte erstellt, was nicht nur Zeit sparte, sondern auch meine Produktivität steigerte.

Was ist Snippet?

Snippets sind eine beliebte Programmierfunktion, die in vielen modernen Texteditoren oder IDE-Editoren enthalten ist. Sie können sich Snippets als Vorlage vorstellen, die bei Bedarf wiederverwendet werden kann. Snippets sind nicht auf bestimmte Programmiersprachen beschränkt. Sie können einfach ein neues Snippet erstellen, den gewünschten Text hinzufügen und ein Triggerwort zuweisen. Wir werden alle diese Funktionen im nächsten Abschnitt sehen.

So listen Sie definierte Snippets in Sublime Text auf

Standardmäßig wird sublime text mit einigen vordefinierten Snippets für die Bash geliefert. Die Snippets werden basierend auf der aktuellen Datei, aus der wir nach dem Snippet suchen, intelligent angezeigt. Ich befinde mich in einem Shell-Skript und wenn ich den Befehl pallet aufrufe und snippet eingebe, wird automatisch eine Liste definierter Snippets für die Bash bereitgestellt.

Es gibt zwei Möglichkeiten, auf Snippets in Sublime Text zuzugreifen.

  1. MENÜGESTEUERT ⇒ SUBLIME TEXT → TOOLS → SNIPPETS
  2. BEFEHLSPALETTE ⇒ SUBLIME TEXT → BEFEHLSPALETTE (STRG+UMSCHALT+P) → TYP SNIPPETS

Erstellen Sie neue Snippets in Sublime Text

Sublime Text stellt eine Standardvorlage im XML-Format bereit, wenn wir ein neues Snippet erstellen. Um die Vorlage zu erstellen, gehen Sie zu SUBLIME TEXT → TOOLS → ENTWICKLER → NEUES SNIPPET.

Lassen Sie uns die Vorlagendefinition verstehen und die Parameter ändern.

  • Der eigentliche Inhalt oder Codeblock, der eingefügt werden soll, sollte innerhalb von platziert werden. Ich werde ein Snippet für „Header-Kommentar“ erstellen. Jedes von Ihnen erstellte Skript verfügt über einen Header-Kommentar, der die Informationen zum Skript definiert, z. B. den Namen des Autors, das Erstellungsdatum, die Versionsnummer, das Bereitstellungsdatum usw.
  • Tabtrigger (optional), der einen „TEXT“ bindet, der als Auslöser für das Snippet fungiert. Wenn Sie den Triggernamen eingeben und die „TAB-Taste drücken, wird das Snippet eingefügt. Es ist standardmäßig kommentiert. Entfernen Sie den Kommentar und fügen Sie Text für den Auslöser hinzu. Wählen Sie einen aussagekräftigen und kurzen Namen. Zum Beispiel: Ich wähle „hcom“ zum Einfügen von Header-Kommentaren. Es kann alles Ihrer Wahl sein.
  • Scope (Optional) definiert, an welche Sprache Ihre Snippets gebunden sind. Möglicherweise arbeiten Sie mit zwei oder drei verschiedenen Programmiersprachen gleichzeitig und verwenden möglicherweise denselben Namen für verschiedene Snippets in verschiedenen Programmiersprachen. In diesem Fall steuert der Bereich, in welche Sprache Ihr Snippet eingefügt werden soll, um so die Kollision zu vermeiden. Die Liste der Bereiche erhalten Sie über Link. Alternativ können Sie zu TOOLS → ENTWICKLER → SCOPE-NAME ANZEIGEN gehen oder drücken, um den Bereichsnamen der von Ihnen verwendeten Sprache abzurufen.
  • Beschreibung (Optional) ist in der Standardvorlage nicht verfügbar, Sie können sie jedoch verwenden, um einen Kontext für die Funktion dieses Snippets zu definieren.

Jetzt haben wir einige grundlegende Dinge erledigt. Wir haben ein Snippet definiert, das einen einfachen Header-Kommentar einfügt, der an den Tab-Trigger „hcom“ gebunden und an das Shell-Skript weitergeleitet wird.

Öffnen wir nun eine neue Bash-Datei und geben Sie „hcom“ ein. Wenn Sie sich das Bild unten ansehen, wenn ich „h eingebe“, erscheint meine Snippet-Definition einfach mit der von uns angegebenen Beschreibung. Ich muss nur die Taste <tab> drücken, um es zu erweitern.

Felder

Felder werden mit $1, $2, $3 usw. gekennzeichnet. Mit Hilfe des Feldes können Sie durch einfaches Drücken der Taste <tab> zu der Position springen, an der die Feldmarkierung platziert ist.

Wenn Sie sich mein Snippet ansehen, habe ich zwei Feldmarkierungen $1 und $2 hinzugefügt. Wenn ich mein Snippet einfüge, wird der Cursor bei platziert $1, damit ich an dieser Position etwas eingeben kann.

Dann muss ich die Taste <tab> drücken, um zur nächsten Markierung $2 zu springen und etwas eingeben. Es ist zu beachten, dass, wenn Sie eine identische Markierung haben, sagen wir $1, in diesem Fall an 2 Positionen, die Aktualisierung des Feldes an einer Position die identischen Felder ($1) aktualisiert.

  • <tab>-Taste → Zur nächsten Feldmarkierung springen.
  • -Taste → Zur vorherigen Feldmarkierung springen.
  • -Taste → Aus dem Feldzyklus ausbrechen.
  • $0 → Steuert den Austrittspunkt.

Platzhalter

Platzhalter ähneln einem Schlüssel-Wert-Paar, das in geschweiften Klammern $ {0:}; definiert ist. Die Feldmarkierung wird mit einem Standardwert gekennzeichnet. Sie können den Wert entweder ändern oder unverändert lassen. Wenn das Snippet eingefügt wird und Sie die Tabulatortaste drücken, wird der Cursor auf den Standardwert gesetzt.

Nun wird das Snippet mit dem Standardwert eingefügt und die Maus auf $1 platziert, was in diesem Fall v1 ist. Entweder kann ich den Wert ändern oder einfach die Taste <tab> drücken, um zur nächsten Markierung zu gelangen.

Der einzige Nachteil von Sublime Text-Snippets besteht darin, dass Sie nicht alle Snippets in einer einzigen Datei gruppieren können. Es ist nur ein Snippet pro Datei zulässig, was umständlich ist. Es gibt aber auch andere Optionen wie das Erstellen von .sublime-completion-Dateien. Um mehr darüber zu erfahren, schauen Sie sich die Dokumentation an.

Wo wird meine Snippet-Datei gespeichert?

Die Snippet-Dateien sollten mit dem Suffix .sublime-snippet gespeichert werden. Gehen Sie zu EINSTELLUNGENPAKETE DURCHSUCHEN. Es öffnet sich das Verzeichnis, in dem benutzerdefinierte Einstellungen gespeichert sind. Gehen Sie in das Verzeichnis „Benutzer“, in dem Ihre Snippet-Datei gespeichert wird.

Snippet-Generator

Die Snippet-Generator-App bietet eine webbasierte automatische Snippet-Generierung basierend auf unseren Eingaben. Es ist für Sublime Text, Atom und VSCode verfügbar. Geben Sie auf der linken Seite die Beschreibung, den Tab-Auslöser und den Inhalt ein, wodurch auf der rechten Seite der Seite Live-Code generiert wird.

Beispielausschnitt, der den Clusternamen von der Ambari-API erhält.

Das ist alles für heute. Wir haben die Vorteile der Verwendung von Snippets in sublime text gesehen. Ich habe gerade einen einfachen Pseudotext als Beispiel verwendet, um die Snippets-Funktion zu demonstrieren, aber es steckt noch viel mehr dahinter. Ich möchte auch darauf hinweisen, dass diese Funktion in allen Editoren/IDEs wie Vim, Atom, Eclipse und Pycharm verfügbar ist >, Vscode usw.