Sublime Text 2: Erstellen Sie benutzerdefinierte Systemauswahl

8

Wie kann ich einen Selektor im Build-System mit der benutzerdefinierten Erweiterung (wie *.ltx , *.cmake usw.) definieren, für die es keinen verfügbaren Selektor gibt (wie text.tex.latex , source.c++ usw.)?

Ist es möglich? Wenn ja - wie?

    
m0nhawk 03.01.2013, 09:23
quelle

1 Antwort

12

Es ist möglich, wenn Sie eine neue Syntaxdefinition definieren (d. h. eine neue .tmLanguage-Datei). Syntaxdefinitionen können neue 'Bereichsnamen' definieren, die Sie dann in Ihren neuen, benutzerdefinierten Build-Systemen verwenden können.

Die neue Syntaxdefinitionsdatei muss nicht wirklich die Syntax der Datei definieren / anpassen, da Sie einfach nach Dateierweiterung suchen können!!

Sehen Sie sich hier an. tmLanguage Dateisyntax. Mit dem Element "scopeName" können Sie Ihren neuen Bereich benennen (z. B. "text.tex.latex" usw.). Ich werde unten ein Beispiel durchgehen.

Ich habe eine neue Syntax erstellt, die einen neuen Bereich definiert hat - es war ziemlich einfach (wie die meisten Dinge in Sublime):

  • Wählen Sie in der Befehlspalette "Paketsteuerung: Paket installieren"
  • Wählen Sie in der Liste der Pakete 'PackageDev'
  • Erstellen Sie eine neue Syntaxdefinition, indem Sie Tools & gt; Pakete & gt; Paketentwicklung & gt; Neue Syntaxdefinition
  • Ihre neue Syntaxdefinition sieht folgendermaßen aus:
%Vor%

... ersetzen Sie "Syntax Name" durch einen aussagekräftigen Namen, "source.syntax_name" mit Ihrem neuen Bereichsnamen, und geben Sie "fileTypes" ein, um eine oder mehrere Dateierweiterungen zu enthalten. Zum Beispiel:

"fileTypes": ["tex", "ltx"]

  • Speichern Sie die Datei mit der Erweiterung ".JSON-tmLanguage" unter Pakete / Benutzer
  • Wählen Sie Tools & gt; Buildsystem & gt; Wählen Sie Json to tmLanguage
  • Wählen Sie Tools & gt; Erstellen

Du bist fertig! Alle neuen Dateien, die eine der in "fileTypes" definierten Erweiterungen haben, aktivieren den Bereich "scopeName".

Sie können diesen Bereich jetzt in einer neuen Build System-Datei verwenden ( Tools & gt; Build System & gt; Neues Build-System ... )

Prost!

    
Greg Sadetsky 10.01.2013, 17:32
quelle