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 ...

TedG
źródło
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ć.

Ivan
źródło
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).

wycieraczka gumowa
źródło
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.

Kaushik Gopal
źródło
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.

Cześć Wor1d
źródło
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.)

Xpeiro
źródło
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,