Imposta la sintassi predefinita su un tipo di file diverso in Sublime Text 2


731

Come posso impostare un tipo di file predefinito per una determinata estensione di file in Sublime Text 2? In particolare voglio avere i file * .cfg predefiniti per evidenziare la sintassi di Ini ma non riesco a capire come potrei creare questa impostazione personalizzata.

Risposte:


1597

Nella versione corrente di Sublime Text 2 (Build: 2139), è possibile impostare la sintassi per tutti i file di una determinata estensione utilizzando un'opzione nella barra dei menu. Aprire un file con l'estensione che si desidera impostare un valore predefinito per e navigare attraverso i menu seguenti: View -> Syntax -> Open all with current extension as... ->[your syntax choice].

28/06/2012 aggiornato: le recenti build di Sublime Text 2 (almeno dalla build 2181) hanno consentito di impostare la sintassi facendo clic sul tipo di sintassi corrente nell'angolo in basso a destra della finestra. Questo aprirà il menu di selezione della sintassi con l'opzione Open all with current extension as...nella parte superiore del menu.

Aggiornato il 19-04-2016: per ora funziona anche con Sublime Text 3.


2
Hai provato Open all with current extension as...o hai semplicemente impostato la sintassi tramite una scelta nel Syntaxmenu?
— Colin R,

Confermato. È necessario riavviare Sublime affinché le modifiche vengano applicate. Inoltre, questo non cambia il file "attivo" - puoi vedere guardando in basso a destra la sintassi che ha scelto. Il riavvio lo risolve però.
— dmackerman,

8
Questo può essere fatto in base al progetto? Ad esempio, per un progetto, potrei desiderare la sintassi di Mako per i file .html; mentre un altro potrebbe usare un'altra sintassi.
— Ken Kinder il

44
Questo è ancora il metodo usato in ST3 (dalla build 3010). Sembra che non sia necessario alcun riavvio e tutti i file attivi con l'estensione vengono aggiornati automaticamente.
— tbeseda

3
@ziyuang: assicurati di avere il cursore da qualche parte nel file aperto.
— Richard Marskell - Drackir

148

Vai a a Packages/User, crea (o modifica) un .sublime-settingsfile che prende il nome dalla Sintassi in cui vuoi aggiungere le estensioni, Ini.sublime-settingsnel tuo caso, quindi scrivi lì qualcosa del genere:

{
    "extensions":["cfg"]
}

E quindi riavviare Sublime Text


NB La sintassi che si desidera utilizzare fa distinzione tra maiuscole e minuscole (ad es. CSSPer css) e questo sostituirà l'impostazione tramite l'interfaccia utente (vedere il post di @ Colin)
— ForbesLindesay

@Elland ho aperto un problema per il problema.
— JJD

29
Trovo più facile con il sublime testo 2/3, aprire il tuo file, quindi selezionare la sintassi che vuoi usare. Quindi fai clic su Preferenze-> Impostazioni - Altro -> Sintassi specifica - Utente. E creerà quel file per te. Basta incollare il codice sopra, salvare e riavviare.
— Kokorohakai,

Utilizzato in questo modo perché sono stato in grado di rimuovere un file di impostazioni che sovrascriveva le mie impostazioni tramite l'interfaccia utente
— turbo2oh,

C'è un modo per configurarlo per un particolare progetto?
— steinybot,

21

In ST2 c'è un pacchetto che puoi installare chiamato Default FileType che fa proprio questo.

Maggiori informazioni qui .


1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. Esattamente quello che stavo cercando! Grazie
— Ricardo Saporta,

in ST3 funziona anche!
— ho

5

È possibile attivare l'evidenziazione della sintassi in base al contenuto del file.

Ad esempio, i miei Makefile indipendentemente dalla loro estensione la prima riga come segue:

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

Questa è una pratica tipica per altri editor come vim.

Tuttavia, affinché funzioni, è necessario modificare il Makefile.tmLanguagefile.

  1. Trova il file (per Sublime Text 3 in Ubuntu) su:

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

Nota, questo è davvero un file zip. Copialo, rinomina con .zip alla fine ed estrai il file Makefile.tmLanguage da esso.

  1. Modifica il nuovo Makefile.tmLanguageaggiungendo la chiave "firstLineMatch" e la stringa dopo la sezione "fileTypes". Nell'esempio seguente, le ultime due righe sono nuove (dovrebbero essere aggiunte dall'utente). La <string>sezione contiene l'espressione regolare, che abiliterà l'evidenziazione della sintassi per i file che corrispondono alla prima riga. Questa espressione riconosce due modelli: " -*-Makefile-*-" e " 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. Posiziona il modificato Makefile.tmLanguagenella directory delle impostazioni dell'utente:

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

Tutti i file corrispondenti alla regola della prima riga dovrebbero attivare l'evidenziazione della sintassi quando vengono aperti.


Questo è stato utile. Bello sapere che è possibile, ma la modifica di ogni file .sublime-package per ogni tipo di file che potrebbe contenere un tale schema non è pratica. Pertanto, probabilmente non userò questa funzione.
— Travis Spencer,
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.