Stellen Sie die Standardsyntax in Sublime Text 2 auf einen anderen Dateityp ein

731

Wie lege ich einen Standarddateityp für eine bestimmte Dateierweiterung in Sublime Text 2 fest? Insbesondere möchte ich, dass * .cfg-Dateien standardmäßig die Ini-Syntax hervorheben, aber ich kann anscheinend nicht herausfinden, wie ich diese benutzerdefinierte Einstellung erstellen kann.

keiththomps
quelle

Antworten:

1597

In der aktuellen Version von Sublime Text 2 (Build: 2139) können Sie die Syntax für alle Dateien einer bestimmten Dateierweiterung mithilfe einer Option in der Menüleiste festlegen. Öffnen Sie eine Datei mit der Erweiterung, für die Sie einen Standard festlegen möchten, und navigieren Sie durch die folgenden Menüs : View -> Syntax -> Open all with current extension as... ->[your syntax choice].

Aktualisiert am 28.06.2012: In den letzten Builds von Sublime Text 2 (mindestens seit Build 2181) konnte die Syntax durch Klicken auf den aktuellen Syntaxtyp in der unteren rechten Ecke des Fensters festgelegt werden. Dadurch wird das Syntaxauswahlmenü mit der Option Open all with current extension as...oben im Menü geöffnet .

Aktualisiert am 19.04.2016: Ab sofort funktioniert dies auch für Sublime Text 3.

Colin R.
quelle
2
Haben Sie versucht Open all with current extension as...oder nur die Syntax über eine Auswahl im SyntaxMenü eingestellt?
Colin R
Bestätigt. Sie müssen Sublime neu starten, damit die Änderungen erhalten bleiben. Dies ändert auch nichts an der "aktiven" Datei. Sie können dies erkennen, indem Sie unten rechts auf die ausgewählte Syntax schauen. Ein Neustart behebt das Problem.
Dmackerman
8
Kann dies pro Projekt durchgeführt werden? Für ein Projekt möchte ich beispielsweise die Mako-Syntax für HTML-Dateien. während ein anderer möglicherweise eine andere Syntax verwendet.
Ken Kinder
44
Dies ist immer noch die in ST3 verwendete Methode (ab Build 3010). Es scheint kein Neustart erforderlich zu sein, und alle aktiven Dateien mit der Erweiterung werden automatisch aktualisiert.
Tbeseda
3
@ziyuang - Stellen Sie sicher, dass sich der Cursor irgendwo in der geöffneten Datei befindet.
Richard Marskell - Drackir
148

Gehen Sie zu a Packages/User, erstellen (oder bearbeiten) Sie eine .sublime-settingsDatei, die nach der Syntax benannt ist, in der Sie Ini.sublime-settingsin Ihrem Fall die Erweiterungen hinzufügen möchten , und schreiben Sie dort etwa Folgendes:

{
    "extensions":["cfg"]
}

Starten Sie dann Sublime Text neu

Kizu
quelle
NB Die Syntax, die Sie verwenden möchten, unterscheidet zwischen Groß- und Kleinschreibung (z. B. CSSfür
CSS
@Elland Ich habe ein Problem für das Problem geöffnet .
JJD
29
Ich finde es mit erhabenem Text 2/3 einfacher, Ihre Datei zu öffnen und dann die Syntax auszuwählen, die Sie verwenden möchten. Klicken Sie dann auf Einstellungen-> Einstellungen - Mehr -> Syntaxspezifisch - Benutzer. Und es wird diese Datei für Sie erstellen. Fügen Sie einfach den obigen Code ein, speichern Sie ihn und starten Sie ihn neu.
Kokorohakai
Wird auf diese Weise verwendet, weil ich eine Einstellungsdatei entfernen konnte, die meine Einstellungen über die Benutzeroberfläche
überschrieb
Gibt es eine Möglichkeit, dies für ein bestimmtes Projekt zu konfigurieren?
Steinybot
21

In ST2 können Sie ein Paket namens Default FileType installieren, das genau das tut.

Mehr Infos hier .

Trejox
quelle
1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. Genau das, wonach ich gesucht habe! Vielen Dank
Ricardo Saporta
in ST3 funktioniert es auch! Benötigen Sie nur einige manuelle Arbeit (speichern Sie DefaultFileType im ST3-Benutzerpfad.
Staticor
5

Sie können die Syntaxhervorhebung basierend auf dem Inhalt der Datei aktivieren.

Zum Beispiel meine Makefiles unabhängig von ihrer Erweiterung die erste Zeile wie folgt:

#-*-Makefile-*- vim:syntax=make

Dies ist eine typische Vorgehensweise für andere Editoren wie vim.

Damit dies funktioniert, müssen Sie die Makefile.tmLanguageDatei jedoch ändern .

  1. Finden Sie die Datei (für Sublime Text 3 in Ubuntu) unter:

    /opt/sublime_text/Packages/Makefile.sublime-package
    

Beachten Sie, dass dies wirklich eine Zip-Datei ist. Kopieren Sie es, benennen Sie es am Ende mit .zip um und extrahieren Sie die Datei Makefile.tmLanguage daraus.

  1. Bearbeiten Sie das neue, Makefile.tmLanguageindem Sie den Schlüssel und die Zeichenfolge "firstLineMatch" nach dem Abschnitt "fileTypes" hinzufügen. Im folgenden Beispiel sind die letzten beiden Zeilen neu (sollten von Ihnen hinzugefügt werden). Der <string>Abschnitt enthält den regulären Ausdruck, der die Syntaxhervorhebung für die Dateien ermöglicht, die mit der ersten Zeile übereinstimmen. Dieser Ausdruck erkennt zwei Muster: " -*-Makefile-*-" und " vim:syntax=make".

    ...
    <key>fileTypes</key>
    <array>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    
    <key>firstLineMatch</key>
    <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string>
    
  2. Legen Sie die geänderten Makefile.tmLanguagein das Benutzereinstellungsverzeichnis:

    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
    

Alle Dateien, die der Regel der ersten Zeile entsprechen, sollten beim Öffnen die Syntaxhervorhebung aktivieren.

elomage
quelle
Das war hilfreich. Gut zu wissen, dass dies möglich ist, aber das Bearbeiten jeder .sublime-Paketdatei für jeden Dateityp, der möglicherweise ein solches Muster enthält, ist nicht praktikabel. Daher werde ich diese Funktion wahrscheinlich nicht verwenden.
Travis Spencer