Wie kann ich den Dateityp an Syntaxzuordnungen in Sublime Text anpassen?


517

Ich möchte, dass der Sublime 2-Editor * .sbt-Dateien (um die Syntax hervorzuheben) als Scala-Sprache behandelt, genau wie * .scala, aber ich kann nicht finden, wo dies eingerichtet werden soll. Weißt du zufällig?



Antworten:


1166

In Sublime Text (sowohl in v2.x als auch in v3.x bestätigt) gibt es einen Menübefehl:

Ansicht -> Syntax -> Alle mit der aktuellen Erweiterung öffnen als ...


18
Haben Sie eine Idee, wie sich dies in den erhabenen Textkonfigurationsdateien widerspiegelt? Ich versuche dies mit einem automatisierten Kochrezept zu erreichen und kann nicht herausfinden, was in den Einstellungen von JSON eingestellt werden soll.
Brad

24
Funktioniert auch in Sublime Text 3 identisch. Danke @TedG
Fusion27

11
@brad Öffnen Sie syntaxspezifische Einstellungen (Scala.sublime-settings im Users-Ordner) und fügen Sie sie hinzu: {"extensions": ["scala", "sbt"]}
omittones

5
Funktioniert auch nicht wie erwartet für Dateinamen mit doppelter Erweiterung. Die Bearbeitung *.sublime-settings tut Arbeit.
MM.

9
Wie legen Sie eine Standardsyntax für geöffnete Dateien ohne Erweiterung fest?
Cavalcade

38

Ich habe die Antwort gefunden (indem ich die Struktur der Sublime 2-Konfigurationsdateien weiter untersuche):

Ich sollte öffnen

~/.config/sublime-text-2/Packages/Scala/Scala.tmLanguage

Und bearbeiten Sie es, um sbtdem Array nach dem fileTypesSchlüssel Folgendes hinzuzufügen (die Erweiterung von Dateien, die als Scala-Codedateien geöffnet werden sollen) :

<dict>
  <key>bundleUUID</key>
  <string>452017E8-0065-49EF-AB9D-7849B27D9367</string>
  <key>fileTypes</key>
  <array>
    <string>scala</string>
    <string>sbt</string>
  <array>
  ...

PS: Möge es einen besseren Weg geben, so etwas wie einen richtigen Ort, um meine Anpassungen vorzunehmen (anstatt Pakete selbst zu ändern), würde ich immer noch gerne wissen.


1
es ist jetzt in/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Ich denke, ist die Benutzerbibliothek eher als die Systembibliothek:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric, sollten Sie vorsichtiger lesen. Es öffnet alle Dateien mit dieser spezifischen Erweiterung mit der angegebenen Syntax. Meistens ist dies das, was Sie wollen.
Vincent Ketelaars

28

Ich habe meine benutzerdefinierten Änderungen in das Benutzerpaket eingefügt:

*nix: ~/.config/sublime-text-2/Packages/User/Scala.tmLanguage
*Windows: %APPDATA%\Sublime Text 2\Packages\User\Scala.tmLanguage

Was auch bedeutet, dass es im JSON-Format ist:

{
  "extensions":
  [
    "sbt"
  ]
}

Dies ist der gleiche Ort der

View -> Syntax -> Open all with current extension as ...

Menüpunkt fügt es hinzu (Erstellen der Datei, falls nicht vorhanden).


2
Beachten Sie, dass dies die einzige Methode ist (zumindest in ST2), mit der eine bestimmte Syntax für Dateien mit doppelten Erweiterungen festgelegt werden kann (z. B. whatever.twig.html), da die Menümethode nur die letzte verwendet!
MM.

1
Ich fand, dass dies mit Sublime Text 3 funktioniert. Ich habe View -> Syntax -> Open all with current extension as ...die Sprachdatei Markdown.sublime-settingsin erstellt ~/Library/Application Support/Sublime Text 3/Packages/User/und diese Datei dann bearbeitet, um zusätzliche Dateierweiterungen hinzuzufügen.
Jake Rayson

13

Es gibt ein exzellentes Plugin namens ApplySyntax (früher DetectSyntax), das bestimmte andere Vorteile für den Dateisyntaxabgleich bietet. erlaubt Regex-Ausdrücke usw.


9

Es gibt eine schnelle Methode, um die Syntax festzulegen: Ctrl+ Shift+ P, und geben Sie dann das Eingabefeld ein

ss + (welchen Typ Sie einstellen möchten)

zB: ss html +Enter

und ss bedeutet "Syntax setzen"

Es ist wirklich schneller als das Kontrollkästchen des Menüs zu aktivieren.


7

für ST3

$ language = "Sprache, die du wünschst"

falls vorhanden,

Gehen Sie zu ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

sonst

Erstelle ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

und setzen

{"Erweiterungen": [" Ihre Erweiterung "]}

Auf diese Weise können Sie die Syntax für zusammengesetzte Erweiterungen aktivieren (z. B. sql.mustache, js.php usw.).


2
Um .js.php-Dateien mit JavaScript zu verknüpfen, sollte ich eine Datei mit dem Namen Javascript.sublime-settings erstellen, die mit { "extensions": [ "js.php" ] }?
Austin Schmidt

Ja, wenn die Datei nicht vorhanden ist. Wenn sie bereits vorhanden ist, fügen Sie einfach die gewünschte Erweiterung in das Array "Erweiterungen" ein.
Xpeiro
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.