Làm cho Notepad ++ nhớ một ngôn ngữ cụ thể cho một tệp cụ thể?


10

Tôi có một số tệp mà tôi muốn tô màu theo nhiều cách khác nhau mặc dù chúng có cùng phần mở rộng. Ví dụ: tôi có một số tệp * .config thực sự là các tệp Python và một số là các tệp XML. Khi tôi mở chúng, tôi phải tự thay đổi ngôn ngữ thành Python hoặc XML.

Chẳng hạn, sẽ rất tốt nếu, ví dụ, Notepad ++ sẽ nhớ rằng c: \ foo \ bar \ whatevs.config nên sử dụng kiểu Python, nhưng c: \ hey \ ho \ boo.config nên sử dụng kiểu XML.

Có cách nào trong Notepad ++ để nói "nhớ ngôn ngữ đã được sử dụng lần cuối cùng khi tệp được mở" không? Một plugin có lẽ?


Bạn đang gặp vấn đề ở đâu đó bằng cách sử dụng các phần mở rộng tập tin chính xác?
iglvzx

1
Tôi có một ứng dụng Python sử dụng các tệp .config thực sự là các tệp Python và .NET sử dụng các tệp .config thực sự là các tệp XML. Một ví dụ khác, tôi có các tệp markdown sử dụng phần mở rộng .txt vì chúng đồng bộ hóa với ứng dụng Android không hiểu tệp .md là gì.
mhenry1384

Tôi hiểu rồi. Nó có nhớ ngôn ngữ bạn đặt khi bạn đóng Notepad ++ với tệp đang mở và sau đó mở lại Notepad ++ không?
iglvzx

2
Trên thực tế, nếu bạn đã chọn "Ghi nhớ phiên hiện tại cho lần khởi chạy tiếp theo" (mà tôi không có). Nhưng nó quên nó khi bạn đóng tệp và mở lại nó.
mhenry1384

Câu trả lời:


12

Có một tùy chọn GUI để thiết lập một liên kết tĩnh giữa phần mở rộng tệp và ngôn ngữ (thay vì chỉnh sửa thủ công %APPDATA% langs.xmltệp hoặc %PROGRAMFILES% langs.model.xmltệp như @ jakub.g đề xuất):

Nếu bạn đi tới Cài đặt -> Trình cấu hình kiểu -> chọn ngôn ngữ ở bên trái, thì ở dưới cùng của màn hình, hai hộp văn bản xuất hiện:

Bộ cấu hình kiểu

Trong ví dụ này, tôi đã thêm "config" vào User ext.hộp văn bản để bất cứ khi nào tôi mở tệp có phần mở rộng tệp .config, việc tô sáng cú pháp XML sẽ tự động được chọn trong menu Ngôn ngữ.

Tôi biết điều này không giải quyết được vấn đề ghi nhớ cú pháp tô sáng nào để áp dụng cho một tệp cụ thể, nhưng đây là một cách dễ dàng để thiết lập tô sáng cho tất cả các phần mở rộng tệp.

Nếu bạn muốn nhớ lựa chọn tô sáng cú pháp cho một tệp riêng lẻ, tôi tin rằng tùy chọn duy nhất là chọn hộp kiểm: Cài đặt -> Tùy chọn -> MISC -> Ghi nhớ phiên hiện tại cho lần khởi chạy tiếp theo.


Nó không lưu nó mặc dù. một khi bạn đóng và mở lại notepad ++, các thay đổi sẽ biến mất.
r3wt

@ r3wt Tôi tin rằng bạn cần run as administratorphải có quyền để lưu các tùy chọn vào hồ sơ người dùng của bạn.
wwicker 4/2/2015

Điều này sẽ không hoạt động cho các phần mở rộng tập tin được xây dựng. Bạn phải xóa thủ công phần mở rộng khỏi phần mở rộng của ngôn ngữ trong tệp langs.xml. Tệp đó có thể nằm trong% APPDATA% / Notepad ++ hoặc thư mục cài đặt Notepad ++ hoặc trong Bộ lưu trữ đám mây của bạn, ví dụ DropBox, OneDrive hoặc GoogleDrive nếu bạn đã bật Cài đặt trong tùy chọn Đám mây.
Ian Stanway

Điều này có làm việc cho các ngôn ngữ tùy chỉnh? Tôi không thể tìm thấy tôi ở bất cứ đâu trong danh sách.
Fabian Röling

1

Đây không hoàn toàn là những gì bạn yêu cầu, nhưng áp dụng cho nhận xét của bạn về các tệp .txt dưới dạng tệp Markdown. Một tùy chọn có thể là đặt Markdown làm ngôn ngữ cho tất cả các tệp .txt.

Giả định này markdown_npp được cài đặt. Bạn có thể tự chỉnh sửa các tệp sau đây (tạo bản sao lưu trước khi chỉnh sửa các tệp này):

  • Mở langs.xml từ% appdata% \ Notepad ++
    • Xóa phần mở rộng txt khỏi ngôn ngữ bình thường:
      • Trước: <Language name="normal" ext="txt" />
      • Sau: <Language name="normal" ext="" />
  • Mở userDefineLang.xml từ% appdata% \ Notepad ++
    • Thêm phần mở rộng txt vào ngôn ngữ Markdown:
      • Trước: <UserLang name="Markdown" ext="md">
      • Sau: <UserLang name="Markdown" ext="md txt">
  • Khởi động lại Notepad ++

làm việc cho tôi và đó là cách duy nhất tôi có thể có được notepad ++ để lưu trữ vĩnh viễn mối quan hệ. cảm ơn
r3wt

0

Để thêm kết nối cố định giữa tiện ích mở rộng và ngôn ngữ, hãy mở thư mục NPP (ví dụ C:\Program hFiles\Notepad++), có một số tệp XML ở đó. Chỉnh sửa chúng (Tôi không nhớ chính xác, langs.xmlhoặc langs.model.xml).

Thí dụ: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

Tìm ngôn ngữ bạn muốn và thêm phần mở rộng.

Tuy nhiên tôi không biết làm thế nào để tạo cùng một phần mở rộng khác nhau cho mỗi thư mục.

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.