Sublime Text'de dosya türünü sözdizimine göre nasıl özelleştirebilirim?


Yanıtlar:


1166

Sublime Text'de (hem v2.x hem de v3.x'te onaylanmıştır) bir menü komutu vardır:

Görünüm -> Sözdizimi -> Geçerli uzantıya sahip olanları şu şekilde aç ...


18
bunun yüce metin yapılandırma dosyalarına nasıl yansıtıldığı hakkında bir fikriniz var mı? Bunu otomatik bir şef tarifi ile elde etmeye çalışıyorum ve JSON ayarlarında ne ayarlayacağımı anlayamıyorum.
brad

24
Sublime Text 3'te de aynı şekilde çalışır. Teşekkürler @TedG
fusion27

11
@brad Sözdizimine özgü ayarları açın (Kullanıcılar klasöründeki Scala.sublime-ayarları) ve bunları ekleyin: {"uzantılar": ["scala", "sbt"]}
atlamalar

5
Ayrıca çift uzantılı dosya adları için beklendiği gibi çalışmaz. Düzenleme *.sublime-settings yapar işi.
MM.

9
Uzantısı olmayan dosyalar için varsayılan sözdizimini nasıl ayarlarsınız?
cavalcade

38

Cevabı buldum (Sublime 2 yapılandırma dosyaları yapısını daha fazla inceleyerek):

Açacaktım

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

Ve anahtardan sbtsonra diziye (Scala kod dosyaları olarak açmak istediğim dosyaların uzantısı) eklemek için düzenleyin fileTypes:

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

Not: Daha iyi bir yol olabilir, özelleştirmelerimi koymak için doğru bir yer gibi bir şey olabilir (paketleri kendileri değiştirmeye meyilli), hala bilmek istiyorum.


1
şimdi/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Sistem kütüphanesi yerine kullanıcı kütüphanesi olduğunu düşünüyorum:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric, daha dikkatli okumalısınız .. Belirtilen sözdizimiyle o uzantıya sahip tüm dosyaları açar. Çoğu zaman, bu istediğiniz şeydir.
Vincent Ketelaars

28

Özelleştirdiğim değişiklikleri Kullanıcı paketine koydum:

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

Bu da JSON biçiminde olduğu anlamına gelir:

{
  "extensions":
  [
    "sbt"
  ]
}

Burası aynı yer

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

menü öğesi ekler (yoksa dosya oluşturma).


2
whatever.twig.htmlMenü yönteminin yalnızca sonuncuyu aldığı için , çift uzantılı dosyalar (örneğin, ) için belirli bir sözdizimi ayarlamaya izin veren tek yöntemin (en azından ST2'de) bu olduğuna dikkat edin!
MM.

1
Ben Sublime Text 3. ile bu eserler kullandığım bulundu View -> Syntax -> Open all with current extension as ...dil dosyası oluşturmak için Markdown.sublime-settingsde ~/Library/Application Support/Sublime Text 3/Packages/User/, sonra da ekstra dosya uzantıları eklemek için bu dosyayı düzenlenebilir.
Jake Rayson

13

ApplySyntax (önceden DetectSyntax) adında mükemmel bir eklenti var ve dosya sözdizimi eşleşmesi için diğer bazı özellikleri sağlıyor. regex ifadeleri vb. izin verir.


9

Sözdizimini ayarlamak için hızlı bir yöntem vardır: Ctrl+ Shift+ P, sonra giriş kutusuna yazın

ss + (ayarlamak istediğiniz türü)

ör .: ss html +Enter

ve ss "set sözdizimi" anlamına gelir

menünün onay kutusunu kontrol etmekten gerçekten daha hızlı.


7

ST3 için

$ language = "dil diliyorum"

eğer varsa,

~ / .config / sublime-text-3 / Paketler / Kullanıcı / $ diline gidin. sublime-settings

Başka

~ / .config / sublime-text-3 / Paketler / Kullanıcı / $ dili oluşturun. sublime-settings

ve ayarla

{"uzantılar": [" uzantınız "]}

Bu şekilde kompozit uzantılar için sözdizimini etkinleştirebilirsiniz (örn. Sql.mustache, js.php, vb.)


2
Yani .js.php dosyalarını JavaScript ile ilişkilendirmek için Javascript.sublime-settings ile dolu bir dosya oluşturmalıyım { "extensions": [ "js.php" ] }?
Austin Schmidt

Evet, dosya yoksa, zaten varsa "uzantılar" dizisine istediğiniz uzantıyı ekleyin.
17'de xpeiro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.