Làm cách nào để tùy chỉnh loại tệp theo liên kết cú pháp trong Sublime Text?


517

Tôi muốn trình soạn thảo Sublime 2 coi các tệp * .sbt (để tô sáng cú pháp) là ngôn ngữ Scala, giống như * .scala, nhưng tôi không thể tìm thấy nơi để thiết lập tệp này. Bạn có tình cờ biết không?



Câu trả lời:


1166

Trong Sublime Text (được xác nhận trong cả v2.x và v3.x) có lệnh menu:

Xem -> Cú pháp -> Mở tất cả với tiện ích mở rộng hiện tại dưới dạng ...


18
Bạn có biết làm thế nào điều này được phản ánh trong các tập tin cấu hình văn bản cao siêu? Tôi đang cố gắng đạt được điều này với một công thức đầu bếp tự động và tôi không thể tìm ra những gì cần thiết lập trong cài đặt JSON.
brad

24
Hoạt động giống hệt trong Sublime Text 3 là tốt. Cảm ơn @TedG
fusion27

11
@brad Mở cài đặt cụ thể cú pháp (Scala.sublime-settings trong thư mục Người dùng) và thêm vào chúng: {"
extend

5
Cũng không hoạt động như mong đợi cho tên tệp có phần mở rộng gấp đôi. Chỉnh sửa công việc *.sublime-settings không .
MM.

9
Làm thế nào để bạn đặt một cú pháp mặc định cho các tệp được mở không có phần mở rộng?
kỵ binh

38

Tôi đã tìm thấy câu trả lời (bằng cách kiểm tra thêm cấu trúc tệp cấu hình Sublime 2):

Tôi đã mở

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

Và chỉnh sửa nó để thêm sbt(phần mở rộng của các tệp tôi muốn được mở dưới dạng tệp mã Scala) vào mảng sau fileTypeskhóa:

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

Tái bút: Có thể có một cách tốt hơn, một cái gì đó giống như một nơi thích hợp để đặt các tùy chỉnh của tôi (bản thân việc sửa đổi các gói), tôi vẫn muốn biết.


1
bây giờ đã đến/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Tôi nghĩ là thư viện người dùng chứ không phải thư viện hệ thống:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric, bạn nên đọc kỹ hơn .. Nó mở tất cả các tệp có phần mở rộng cụ thể đó với cú pháp được chỉ định. Hầu hết thời gian, đây là những gì bạn muốn.
Vincent Ketelaars

28

Tôi đặt các thay đổi tùy chỉnh của mình trong gói Người dùng:

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

Điều đó cũng có nghĩa là nó ở định dạng JSON:

{
  "extensions":
  [
    "sbt"
  ]
}

Đây là cùng một nơi

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

mục menu thêm nó (tạo tập tin nếu nó không tồn tại).


2
Lưu ý rằng đây là phương pháp duy nhất (ít nhất là trong ST2) cho phép đặt cú pháp cụ thể cho các tệp có phần mở rộng gấp đôi (ví dụ whatever.twig.html:), vì phương thức menu chỉ mất cái cuối cùng!
MM.

1
Tôi tìm thấy tác phẩm này với Sublime chữ 3. Tôi sử dụng View -> Syntax -> Open all with current extension as ...để tạo ra các tập tin ngôn ngữ Markdown.sublime-settingstrong ~/Library/Application Support/Sublime Text 3/Packages/User/, và sau đó thay đổi nội dung tập tin này để thêm phần mở rộng tập tin thêm.
Jake Rayson

13

Có một plugin tuyệt vời có tên ApplySyntax (trước đây là DetectSyntax) cung cấp một số chi tiết nhất định khác cho việc khớp cú pháp tệp. cho phép biểu thức regex, v.v.


9

Có một phương pháp nhanh để đặt cú pháp: Ctrl+ Shift+ P, sau đó nhập vào hộp nhập

ss + (loại bạn muốn đặt

ví dụ: ss html +Enter

ss có nghĩa là "đặt cú pháp"

nó thực sự nhanh hơn kiểm tra trong hộp kiểm của menu.


7

cho ST3

$ ngôn ngữ = "ngôn ngữ bạn muốn"

nếu tồn tại,

đi tới ~ / .config / sublime-text-3 / Gói / Người dùng / $ ngôn ngữ .sublime-settings

khác

tạo ~ / .config / sublime-text-3 / Gói / Người dùng / $ ngôn ngữ .sublime-settings

và thiết lập

{"tiện ích mở rộng": [" yourextension "]}

Cách này cho phép bạn kích hoạt cú pháp cho các tiện ích mở rộng tổng hợp (ví dụ: sql.mustache, js.php, v.v ...)


2
Vì vậy, để liên kết các tệp .js.php với JavaScript, tôi nên tạo một tệp có tên Javascript.sublime-settings chứa đầy { "extensions": [ "js.php" ] }?
Austin Schmidt

Có nếu tệp không tồn tại, nếu đã tồn tại, chỉ cần thêm tiện ích mở rộng bạn muốn trên mảng "tiện ích mở rộng".
xpeiro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.