Wie öffne ich eine neue C ++ - Datei mit einer vordefinierten Vorlage in Sublime Text?

1

Ich bin gespannt, ob es eine Möglichkeit gibt, nicht eine leere neue Datei, sondern eine neue Datei mit einer vordefinierten Vorlage zu öffnen. Ich nehme an Online-Codierungswettbewerben teil und muss für jede neue Datei (die ich als '.cpp' speichere) alle Präprozessoranweisungen, dh #include <..>'s und #define' s von einer meiner früheren ' , mit Cmd + C und Cmd + V ausführen . cpp 'datei. Gibt es eine Möglichkeit, mit der ich all diese Dinge in eine Datei und jede neue Datei, die ich als C ++ - Datei speichere, schreiben kann, werden diese Daten darauf geladen, wodurch mein Kopieren, Einfügen und erneutes Tippen gespart wird. Eclipse IDE hat dieses Feature, ich wollte wissen, ob es irgendwie auch in Sublime Text möglich ist. Vielen Dank!

Aditya Bahuguna
quelle

Antworten:

2

Sie sollten ein Snippet verwenden. Sie können beispielsweise ein neues Snippet definieren und es mit auslösen !initcpp. Dann öffnest du eine neue Datei, tippst !initcpp, drückst und schon kann es losgehen.

Um ein neues zu definieren, gehen Sie zu Extras → Neues Snippet…

Aus erhabenem Text: Schnipsel .

Snippets können in einem beliebigen Paketordner gespeichert werden. Um das Lernen zu vereinfachen, können Sie sie in Ihrem Packages/UserOrdner speichern .

Snippets-Dateiformat

Snippets befinden sich normalerweise in einem Sublime Text-Paket. Es handelt sich um vereinfachte XML-Dateien mit der Erweiterung .sublime-snippet.

Die Struktur eines typischen Snippets sieht wie folgt aus (einschließlich der Standardhinweise für Sublime Text-Einfügungen):

<snippet>
    <content><![CDATA[Type your snippet here]]></content>
    <!-- Optional: Tab trigger to activate the snippet -->
    <tabTrigger>xyzzy</tabTrigger>
    <!-- Optional: Scope the tab trigger will be active in -->
    <scope>source.python</scope>
    <!-- Optional: Description to show in the menu -->
    <description>My Fancy Snippet</description>
</snippet>

Das Snippet-Element enthält alle Informationen, die Sublime Text benötigt, um zu wissen, was eingefügt werden soll, ob und wann. Schauen wir uns diese Teile der Reihe nach an.

Inhalt

Das eigentliche Snippet. Snippets können von einfachen bis hin zu recht komplexen Vorlagen reichen. Wir werden uns später Beispiele für beides ansehen.

Beachten Sie Folgendes, wenn Sie eigene Snippets schreiben:

  • Wenn Sie eine wörtliche erhalten möchten $, müssen Sie es so entkommen: \$.
  • Verwenden Sie beim Schreiben eines Snippets, das Einrückungen enthält, immer Tabulatoren. Wenn das Snippet eingefügt wird, werden die Registerkarten in Leerzeichen umgewandelt, wenn die Option aktiviert translateTabsToSpacesist true.
  • Das contentmuss in einem <![CDATA[…]]>Abschnitt enthalten sein. Snippets funktionieren nicht, wenn Sie dies nicht tun!
  • Das contentvon Ihrem Snippet darf nicht enthalten sein, ]]>da diese Zeichenfolge den <![CDATA[…]]>Abschnitt vorzeitig schließt , was zu einem XML-Fehler führt. Um dieses pitfall zu arbeiten, können Sie eine nicht definierte Variable in die Zeichenfolge wie folgt einfügen: ]]$NOT_DEFINED>. Diese geänderte Zeichenfolge durchläuft den XML-Parser, ohne den <![CDATA[…]]>Abschnitt des Inhaltselements zu schließen. Sublime Text wird jedoch durch $NOT_DEFINEDeine leere Zeichenfolge ersetzt, bevor das Snippet in Ihre Datei eingefügt wird. Mit anderen Worten, der ]]$NOT_DEFINED>Inhalt Ihrer Snippet-Datei wird so geschrieben, als würden ]]>Sie das Snippet auslösen.

tabTrigger

Definiert die Tastenfolge, die gedrückt werden muss, um dieses Snippet einzufügen. Nachdem Sie diese Sequenz eingegeben haben , wird das Snippet aktiviert, sobald Sie die Taste drücken.

Ein Tabulator-Trigger ist eine implizite Schlüsselbindung.

Umfang

Bereichsauswahl, die den Kontext bestimmt, in dem das Snippet aktiv sein wird. Weitere Informationen finden Sie unter Bereiche.

Beschreibung

Wird verwendet, wenn das Snippet im Snippets-Menü angezeigt wird. Wenn Sublime Text nicht vorhanden ist, wird standardmäßig der Dateiname des Snippets verwendet.

Mit diesen Informationen können Sie Ihre eigenen Ausschnitte schreiben, wie in den nächsten Abschnitten beschrieben.

jherran
quelle
Beeindruckend!! : D Es funktioniert wie ein Zauber, genau wie ich wollte. Vielen Dank für eine so ausführliche und klare Antwort. @jherran
Aditya Bahuguna