Jak dostosować typ pliku do skojarzeń składniowych w Sublime Text?


Odpowiedzi:


1166

W Sublime Text (potwierdzonym zarówno w wersji 2.x, jak i v3.x) znajduje się polecenie menu:

Widok -> Składnia -> Otwórz wszystko z bieżącym rozszerzeniem jako ...


18
Czy masz pojęcie, jak to jest odzwierciedlone w plikach konfiguracyjnych z wysublimowanym tekstem? Próbuję to osiągnąć za pomocą automatycznego przepisu na szefa kuchni i nie mogę się dowiedzieć, co ustawić w ustawieniach JSON.
Brad

24
Działa identycznie również w Sublime Text 3. Dzięki @TedG
fusion27

11
@brad Otwórz ustawienia specyficzne dla składni (Scala.sublime-settings w folderze Users) i dodaj do nich: {„extensions”: [„scala”, „sbt”]}
omittones

5
Również nie działa zgodnie z oczekiwaniami dla nazw plików z podwójnym rozszerzeniem. Edycja *.sublime-settings wykonuje pracę.
MM.

9
Jak ustawić domyślną składnię dla otwieranych plików bez rozszerzenia?
kawalkada

38

Znalazłem odpowiedź (badając strukturę plików konfiguracyjnych Sublime 2):

Miałem otworzyć

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

I edytuj go, aby dodać sbt(rozszerzenie plików, które chcę otworzyć jako pliki kodu Scala) do tablicy po fileTypeskluczu:

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

PS: Czy może istnieć lepszy sposób, coś w rodzaju właściwego miejsca do umieszczenia moich dostosowań (zamiast modyfikacji samych pakietów), nadal chciałbym wiedzieć.


1
jest teraz w/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Myślę, że jest biblioteka użytkownik zamiast biblioteki systemu:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric, powinieneś przeczytać uważniej. Otwiera wszystkie pliki z tym konkretnym rozszerzeniem o określonej składni. W większości przypadków właśnie tego chcesz.
Vincent Ketelaars

28

Moje niestandardowe zmiany umieszczam w pakiecie użytkownika:

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

Co oznacza również, że jest w formacie JSON:

{
  "extensions":
  [
    "sbt"
  ]
}

To jest to samo miejsce

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

element menu dodaje go (tworzenie pliku, jeśli nie istnieje).


2
Zauważ, że jest to jedyna metoda (przynajmniej w ST2), która pozwala ustawić określoną składnię dla plików z podwójnymi rozszerzeniami (na przykład whatever.twig.html), ponieważ metoda menu zajmuje tylko ostatnią!
MM.

1
Znalazłem to działa z Sublime Text 3. Kiedyś View -> Syntax -> Open all with current extension as ..., aby utworzyć plik językowy Markdown.sublime-settingsw ~/Library/Application Support/Sublime Text 3/Packages/User/, a następnie edytować ten plik, aby dodać dodatkowe rozszerzenia plików.
Jake Rayson

13

Istnieje doskonała wtyczka o nazwie ApplySyntax (wcześniej DetectSyntax), która zapewnia pewne inne drobiazgi w zakresie dopasowywania składni plików. pozwala na wyrażenia regularne itp.


9

Istnieje szybki sposób na ustawienie składni: Ctrl+ Shift+ P, a następnie wpisz tekst w polu wprowadzania

ss + (jaki typ chcesz ustawić)

np .: ss html +Enter

a ss oznacza „ustaw składnię”

jest to naprawdę szybsze niż zaznaczenie w polu wyboru menu.


7

dla ST3

$ language = "language you wish"

jeśli istnieje

przejdź do ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

jeszcze

utwórz ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

i nastaw

{„extensions”: [„ yourextension ”]}

W ten sposób można włączyć składnię rozszerzeń kompozytowych (np. Sql.mustache, js.php itp.)


2
Aby skojarzyć pliki .js.php z JavaScriptem, powinienem utworzyć plik o nazwie Javascript.sublime-settings wypełniony { "extensions": [ "js.php" ] }?
Austin Schmidt,

Tak, jeśli plik nie istnieje, jeśli już istnieje, po prostu dodaj pożądane rozszerzenie do tablicy „rozszerzeń”.
xpeiro,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.