Chỉ định các tiện ích mở rộng tùy chỉnh cho tô sáng cú pháp của ngôn ngữ trong Notepad ++


280

Trong phiên bản hiện tại của Notepad ++ mở tệp .sql dẫn đến Notepad áp dụng cú pháp SQL tô sáng cho nó. Tôi cũng muốn Notepad ++ thực hiện tương tự cho các tiện ích mở rộng khác, có cài đặt nào để tôi có thể xác định điều này không?


Nó không có? Nó nên làm như vậy theo mặc định.
D'Arvit

2
Nó dành cho các tệp .sql, không phải cho các tệp khác
Sathyajith Bhat

4
Tôi muốn Notepad ++ chỉ nhớ ngôn ngữ được chọn từ menu cho mỗi tệp hoặc được đề nghị thêm tiện ích mở rộng của bạn vào cấu hình kiểu ngôn ngữ đó vào lần thứ hai bạn kết hợp tiện ích mở rộng với ngôn ngữ.
Matthew Khóa

Lưu ý rằng bạn cũng có thể thay đổi màu sắc ngôn ngữ của phần mở rộng của bạn thông qua ngôn ngữ / Define Your Language ... menu.
lau

Câu trả lời:


347

Khi bạn mở một tệp trong notepad ++, nó sẽ cố tải phần tô sáng cú pháp cho các nội dung dựa trên phần mở rộng tệp.

Nếu bạn sử dụng tiện ích mở rộng tùy chỉnh cho một trong các ngôn ngữ hiện có, bạn có thể thêm tiện ích mở rộng tùy chỉnh trong Cài đặt -> Trình cấu hình Trình tạo kiểu. Chọn ngôn ngữ và thêm tiện ích mở rộng trong hộp chỉnh sửa "Tiện ích mở rộng người dùng". Để thêm nhiều phần mở rộng, hãy tách chúng ra bằng cách sử dụng Space.

Sau đó, bạn cần mở lại tệp của mình để xem đánh dấu cú pháp được áp dụng.

Bạn cũng có thể thay đổi kiểu tô sáng cú pháp bằng cách chọn một ngôn ngữ khác từ menu ngôn ngữ.


Tôi đã thử điều này, nhưng nó chỉ gán cho 1 tiện ích mở rộng, tôi muốn chỉ định nhiều tiện ích mở rộng.
Sathyajith Bhat

24
bạn có thể thêm nhiều tiện ích mở rộng bằng cách tách chúng với không gian, thêm nó vào bài đăng của tôi
T. Kaltnekar

20
Lưu ý rằng thực hiện thay đổi này sẽ không ảnh hưởng đến các tệp hiện đang mở trong Notepad ++. Ngoài ra, việc đóng và mở lại Notepad ++ vẫn không ảnh hưởng đến các tệp vẫn mở giữa các phiên. Các tệp riêng lẻ phải được đóng và mở lại để thấy hiệu ứng.
mwolfe02

Phương pháp này cũng không hoạt động đối với các ngôn ngữ do người dùng xác định. Đối với những người này, hãy xem câu trả lời bên dưới, nhưng thay vì langs.xml, hãy chỉnh sửa userDefineLang.xml
Chase Sandmann

2
Phương pháp này dường như chỉ hoạt động khi mở Notepad ++ với tư cách quản trị viên. Xem vấn đề này: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 Ngoài ra, dường như vẫn tồn tại những thay đổi trong tệp chương trình (đó là lý do tại sao vấn đề cấp phép) trong C: \ Program Files (x86) \ Notepad ++ \ Themes \ chọnTheme.xml có nghĩa là cài đặt này không được sử dụng khi bạn chuyển đổi chủ đề.
Daniel Bogdan

67

Tìm tệp langs.xml (thường trong C: \ Users [tên người dùng] \ AppData \ Roaming \ Notepad ++), mở tệp bằng Notepad ++, tìm dòng bắt đầu bằng <Language name="sql" ext="sql"và thêm các tiện ích mở rộng bạn muốn trong trường ext , tách chúng bằng một không gian.

Để thực hiện điều này cho ngôn ngữ do người dùng xác định, thay vào đó, hãy tìm userDefineLang.xml và chỉnh sửa ext="".

Nếu bạn đã cài đặt notepad ++ trong chế độ "di động", thì langs.xmluserDefineLangs.xml sẽ trực tiếp trong thư mục chứa notepad ++.


6
Cách tiếp cận này cũng hoạt động tốt, nhưng cách tiếp cận của T. Kaltnekar thân thiện hơn một chút, cảm ơn!
Sathyajith Bhat

Đó là cách duy nhất tôi biết làm thế nào :).
alex

2
Thật tuyệt, tôi thích cách tiếp cận này, tôi đã có rất nhiều tiện ích mở rộng tùy chỉnh và dễ dàng sao chép và vượt qua chúng theo cách này.
James

2
Phương pháp này làm việc cho tôi. Tôi không hiểu tại sao việc thêm tiện ích mở rộng với GUI không hoạt động. "C: \ người dùng (người dùng) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller

Tôi chưa cài đặt Notepadd ++, chỉ giải nén, vì vậy lang.xmltệp nằm trong thư mục ứng dụng ;-)
Betlista

0

Trong trường hợp một người đang sử dụng các tệp phiên Notepad ++ (tôi đặt tên cho chúng *.nppxml), bạn có thể chỉnh sửa chúng và thay đổi <File lang="...">thuộc tính, ví dụ:

<File ... lang="Normal Text" ... filename="httpd.conf"
<File ... lang="Normal Text" ... filename="some.log"

đến:

<File ... lang="Powershell" ... filename="httpd.conf"
<File ... lang="log" ... filename="some.log"

để có được *.logcú pháp mặc định đẹp (hoặc do người dùng định nghĩa như trong trường hợp của tôi với các tệp) làm nổi bật ngay lập tức mà không cần mở lại từng tệp, v.v.

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.