Come personalizzare il tipo di file per le associazioni di sintassi in Sublime Text?


Risposte:


1166

In Sublime Text (confermato sia in v2.x che in v3.x) c'è un comando di menu:

Visualizza -> Sintassi -> Apri tutto con l'estensione corrente come ...


18
hai idea di come ciò si rifletta nei file di configurazione del testo sublime? Sto cercando di ottenere questo risultato con una ricetta automatizzata per chef e non riesco a capire cosa impostare nelle impostazioni JSON.
Brad

24
Funziona in modo identico anche in Sublime Text 3. Grazie @TedG
fusion27,

11
@brad Apri le impostazioni specifiche della sintassi (Scala.sublime-settings nella cartella Users) e aggiungi ad esse: {"extensions": ["scala", "sbt"]}
omittones,

5
Inoltre, non funziona come previsto per i nomi di file con doppia estensione. Modifica del *.sublime-settings non lavoro.
MM.

9
Come si imposta una sintassi predefinita per i file aperti senza estensione?
cavalcata,

38

Ho trovato la risposta (esaminando ulteriormente la struttura dei file di configurazione di Sublime 2):

Stavo per aprire

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

E modificalo per aggiungere sbt(l'estensione dei file che voglio essere aperto come file di codice Scala) all'array dopo la fileTypeschiave:

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

PS: Possa esserci un modo migliore, qualcosa come un posto giusto per mettere le mie personalizzazioni (istinto a modificare i pacchetti stessi), mi piacerebbe ancora sapere.


1
è ora in/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Penso che sia la libreria utente piuttosto che la libreria di sistema:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric, dovresti leggere più attento .. Apre tutti i file con quella specifica estensione con la sintassi specificata. Il più delle volte, questo è quello che vuoi.
Vincent Ketelaars,

28

Ho inserito le mie modifiche personalizzate nel pacchetto utente:

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

Il che significa anche che è in formato JSON:

{
  "extensions":
  [
    "sbt"
  ]
}

Questo è lo stesso posto in cui

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

la voce di menu lo aggiunge (creando il file se non esiste).


2
Si noti che questo è l'unico metodo (almeno in ST2) che consente di impostare una sintassi specifica per i file con doppie estensioni (ad esempio whatever.twig.html), poiché il metodo del menu prende solo l'ultimo!
MM.

1
Ho trovato questo funziona con Sublime Text 3. ho usato View -> Syntax -> Open all with current extension as ...per creare il file di lingua Markdown.sublime-settingsin ~/Library/Application Support/Sublime Text 3/Packages/User/, e poi modificato questo file per aggiungere le estensioni dei file in più.
Jake Rayson,

13

Esiste un eccellente plug-in chiamato ApplySyntax (precedentemente DetectSyntax) che fornisce alcune altre novità per la corrispondenza della sintassi dei file. consente espressioni regex ecc.


9

Esiste un metodo rapido per impostare la sintassi: Ctrl+ Shift+ P, quindi digitare nella casella di input

ss + (che tipo vuoi impostare)

ad esempio: ss html +Enter

e ss significa "imposta sintassi"

è molto più veloce che spuntare nella casella di controllo del menu.


7

per ST3

$ language = "lingua che desideri"

se esiste,

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

altro

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

e impostare

{"extensions": [" yourextension "]}

In questo modo è possibile abilitare la sintassi per le estensioni composite (ad esempio sql.mustache, js.php, ecc ...)


2
Quindi, per associare i file .js.php a JavaScript, dovrei creare un file chiamato Javascript.sublime-settings riempito con { "extensions": [ "js.php" ] }?
Austin Schmidt,

Sì, se il file non esiste, se esiste già, aggiungi l'estensione desiderata sull'array "extensions".
xpeiro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.