Câu trả lời:
Trong Visual Studio Code , bạn có thể thêm các liên kết tệp liên tục để làm nổi bật ngôn ngữ vào settings.json
tệp của mình như thế này:
// Place your settings in this file to overwrite the default settings
{
"some_setting": custom_value,
...
"files.associations": {
"*.thor": "ruby",
"*.jsx": "javascript",
"Jenkinsfile*": "groovy"
}
}
Bạn có thể sử dụng Ctrl+ Shift+ pvà sau đó gõ settings JSON
. Chọn tùy chọn: Mở Cài đặt (JSON) để mở settings.json
.
Các Files: Associations
tính năng lần đầu tiên được giới thiệu trong Visual Studio Mã phiên bản 1.0 (tháng năm 2016). Kiểm tra các mẫu ký tự đại diện có sẵn trong ghi chú phát hành và các chuỗi ngôn ngữ đã biết trong tài liệu.
.editorconfig
đóng tệp hoặc căn chỉnh các cấu hình giữa VSCode và .editorconfig
sau đó sẽ được ưu tiên
${projectdir}/.vscode/settings.json
tệp cụ thể của dự án .
Giữ phím Ctrl + Shift + P (hoặc cmd trên máy Mac), chọn "Thay đổi chế độ ngôn ngữ" và ở đó.
Nhưng tôi vẫn không thể tìm ra cách tạo các tệp VS Code được nhận dạng với phần mở rộng cụ thể như một số ngôn ngữ nhất định.
Change Language Mode
; Alt+K, M
Cmd+K, M
cho Mac.
Cách dễ nhất tôi đã tìm thấy cho một liên kết toàn cầu chỉ đơn giản là ctrl + km (hoặc ctrl + shift + p và nhập "thay đổi chế độ ngôn ngữ") với một tệp thuộc loại bạn đang liên kết mở.
Trong các lựa chọn đầu tiên sẽ là "Định cấu hình Hiệp hội tệp cho 'x'" (bất kỳ loại tệp nào - xem hình ảnh được đính kèm) Việc chọn này làm cho liên kết kiểu tệp vĩnh viễn
Điều này có thể đã thay đổi (có thể đã làm) kể từ câu hỏi ban đầu và câu trả lời được chấp nhận (và tôi không biết khi nào nó thay đổi) nhưng nó dễ dàng hơn nhiều so với các bước chỉnh sửa thủ công trong câu trả lời được chấp nhận và một số câu trả lời khác, và hoàn toàn tránh được để muss với ID có thể không rõ ràng.
settings.json
tệp ID mở rộng nên là gì, nhưng phương pháp này đã sắp xếp nó!
ví dụ:
// .vscode/settings.json in workspace
{
"files.associations": {
"*Container.js": "javascriptreact",
"**/components/*/*.js": "javascriptreact",
"**/config/routes.js": "javascriptreact"
}
}
"**/layouts/**/*.html": "erb"
- đáng chú ý là trình đơn thả xuống "chế độ ngôn ngữ" VSCode hiển thị tên thực của cú pháp tô sáng trong ngoặc, ví dụ:Ruby ERB (erb)
Điều này, ví dụ, sẽ làm cho các tệp kết thúc .variables
và .overrides
được xử lý giống như bất kỳ tệp LESS nào khác. Về mặt tô màu mã, về định dạng (tự động). Xác định trong cài đặt người dùng hoặc cài đặt dự án, như bạn muốn.
(UI ngữ nghĩa sử dụng các tiện ích mở rộng kỳ lạ này, trong trường hợp bạn thắc mắc)
Tôi tìm thấy giải pháp ở đây: https://code.visualstudio.com/docs/customization/colorizer
Tới VS_CODE_FOLDER/resources/app/extensions/
và cập nhậtpackage.json
Làm theo các bước trên https://code.visualstudio.com/docs/customization/colorizer#_common-questions hoạt động tốt với tôi:
Để mở rộng bộ tạo màu hiện có, bạn sẽ tạo một gói.j.j đơn giản trong một thư mục mới trong .vscode / extend và cung cấp thuộc tính extensionDependencies chỉ định tùy chỉnh mà bạn muốn thêm vào. Trong ví dụ dưới đây, một phần mở rộng .mmd được thêm vào bộ đánh dấu màu. Lưu ý rằng không chỉ tên phần mở rộng phải phù hợp với tùy chỉnh mà cả id ngôn ngữ cũng phải phù hợp với id ngôn ngữ của bộ tô màu bạn đang mở rộng.
{
"name": "MyMarkdown",
"version": "0.0.1",
"engines": {
"vscode": "0.10.x"
},
"publisher": "none",
"extensionDependencies": [
"markdown"
],
"contributes": {
"languages": [{
"id": "markdown",
"aliases": ["mmd"],
"extensions": [".mmd"]
}]
}
}
Tôi đã theo một cách tiếp cận khác để giải quyết khá nhiều vấn đề tương tự, trong trường hợp của tôi, tôi đã tạo một tiện ích mở rộng mới có thêm hỗ trợ cú pháp PHP làm nổi bật các tệp dành riêng cho Drupal (như .module và .inc): https: // github. com / mastazi / VS-code-drupal
Như bạn có thể thấy trong mã, tôi đã tạo một phần mở rộng mới thay vì sửa đổi phần mở rộng PHP hiện có. Rõ ràng tôi tuyên bố một sự phụ thuộc vào phần mở rộng PHP trong phần mở rộng Drupal.
Ưu điểm của việc làm theo cách này là nếu có bản cập nhật cho phần mở rộng PHP, hỗ trợ tùy chỉnh của tôi cho Drupal sẽ không bị mất trong quá trình cập nhật.