Ustaw domyślną składnię na inny typ pliku w Sublime Text 2

731

Jak ustawić domyślny typ pliku dla określonego rozszerzenia pliku w Sublime Text 2? W szczególności chcę, aby pliki * .cfg były domyślnie podświetlone składnią Ini, ale wydaje mi się, że nie potrafię wymyślić, w jaki sposób mogę utworzyć to ustawienie niestandardowe.

keiththomps
źródło

Odpowiedzi:

1597

W bieżącej wersji Sublime Text 2 (kompilacja: 2139) możesz ustawić składnię dla wszystkich plików o określonym rozszerzeniu, używając opcji na pasku menu. Otwórz plik z rozszerzeniem, dla którego chcesz ustawić wartość domyślną, i przejdź przez następujące menu:View -> Syntax -> Open all with current extension as... ->[your syntax choice] .

Zaktualizowano 28.06.2012: Ostatnie kompilacje Sublime Text 2 (przynajmniej od wersji 2181) pozwoliły na ustawienie składni poprzez kliknięcie bieżącego typu składni w prawym dolnym rogu okna. Spowoduje to otwarcie menu wyboru składni z opcją Open all with current extension as...u góry menu.

Zaktualizowano 19.04.2016: Obecnie działa to również w przypadku Sublime Text 3.

Colin R.
źródło
2
Czy próbowałeś Open all with current extension as...lub po prostu ustawiłeś składnię poprzez wybór w Syntaxmenu?
Colin R
Potwierdzony. Musisz ponownie uruchomić Sublime, aby zmiany się utrzymały. Nie zmienia to również „aktywnego” pliku - można to stwierdzić, patrząc w prawym dolnym rogu na wybraną składnię. Ponowne uruchomienie naprawia to.
dmackerman
8
Czy można tego dokonać dla poszczególnych projektów? Na przykład w przypadku jednego projektu może potrzebuję składni Mako dla plików .html; podczas gdy inny może użyć innej składni.
Ken Kinder
44
Jest to nadal metoda stosowana w ST3 (od wersji 3010). Ponowne uruchomienie nie wydaje się wymagane, a wszystkie aktywne pliki z rozszerzeniem są aktualizowane automatycznie.
tbeseda
3
@ziyuang - Upewnij się, że kursor znajduje się gdzieś w otwartym pliku.
Richard Marskell - Drackir
148

Przejdź do a Packages/User, utwórz (lub edytuj) .sublime-settingsplik o nazwie zgodnej ze składnią, w którym chcesz dodać rozszerzenia, Ini.sublime-settingsw twoim przypadku, a następnie napisz tam coś takiego:

{
    "extensions":["cfg"]
}

A następnie uruchom ponownie Sublime Text

kizu
źródło
Uwaga: W składni, której chcesz użyć, rozróżniana jest CSSwielkość liter (np. Dla css), a to zastąpi ustawienie jej za pomocą interfejsu użytkownika (patrz post @ Colin)
ForbesLindesay
@Elland Otworzyłem problem dotyczący tego problemu.
JJD
29
Z wysublimowanym tekstem 2/3 jest mi łatwiej otworzyć plik, a następnie wybrać składnię, której chcesz użyć. Następnie kliknij Preferencje-> Ustawienia - Więcej -> Specyficzna składnia - Użytkownik. I utworzy ten plik dla Ciebie. Po prostu wklej powyższy kod do, zapisz i uruchom ponownie.
kokorohakai
Użyłem w ten sposób, ponieważ mogłem usunąć plik ustawień, który przesłaniał moje ustawienia za pomocą interfejsu użytkownika
turbo2oh
Czy jest jakiś sposób na skonfigurowanie tego dla konkretnego projektu?
steinybot,
21

W ST2 jest pakiet, który możesz zainstalować o nazwie Default FileType, który właśnie to robi.

Więcej informacji tutaj .

trejox
źródło
1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. Dokładnie to, czego szukałem! Dzięki
Ricardo Saporta,
w ST3 działa również! po prostu potrzebuję trochę pracy ręcznej (zapisz DefaultFileType w ścieżce użytkownika ST3.
staticor
5

Możesz włączyć podświetlanie składni na podstawie zawartości pliku.

Na przykład moje pliki Makefile, niezależnie od ich rozszerzenia, w pierwszym wierszu w następujący sposób:

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

Jest to typowa praktyka dla innych edytorów, takich jak vim.

Jednak aby to zadziałało, musisz zmodyfikować Makefile.tmLanguageplik.

  1. Znajdź plik (dla Sublime Text 3 w Ubuntu) na:

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

Uwaga, to naprawdę plik zip. Skopiuj go, zmień nazwę na .zip na końcu i rozpakuj z niego plik Makefile.tmLanguage.

  1. Edytuj nowy Makefile.tmLanguage, dodając klucz i ciąg „firstLineMatch” po sekcji „fileTypes”. W poniższym przykładzie ostatnie dwa wiersze są nowe (należy je dodać). <string>Sekcja posiada wyrażenie regularne, które pozwolą podświetlanie składni dla plików pasujących do pierwszej linii. To wyrażenie rozpoznaje dwa wzorce: „ -*-Makefile-*-” i „ 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. Umieść zmodyfikowane Makefile.tmLanguagew katalogu Ustawienia użytkownika:

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

Wszystkie pliki pasujące do reguły pierwszego wiersza powinny włączać podświetlanie składni po otwarciu.

elomage
źródło
To było pomocne. Miło wiedzieć, że jest to możliwe, ale edytowanie każdego pliku .sublime-package dla każdego typu pliku, który może zawierać taki wzorzec, nie jest praktyczne. Dlatego prawdopodobnie nie będę korzystać z tej funkcji.
Travis Spencer,