Lấy cú pháp nhận xét đa dòng matlab r2009b trong Notepad ++


5

Tôi có Notepad ++ phiên bản 6.1.8 Làm cách nào tôi có thể định cấu hình nó để làm nổi bật nhận xét đa dòng matlab% {...%} dưới dạng khối nhận xét?

---CHỈNH SỬA---

Tôi đọc ở đây rằng tính năng này đã được thêm vào Notepad ++ vào tháng 4, vì vậy tôi đã tải xuống Notepad ++ mới nhất (6.4.5) và cài đặt nó qua phiên bản 6.1 cũ hơn của tôi, nhưng nó vẫn không làm nổi bật các bình luận khối Matlab. Tôi nên làm gì để tính năng này hoạt động?


Tôi đã xác nhận rằng các bình luận khối là không phải được bật trong các thay đổi mới nhất trong kho lưu trữ Scintilla. Tôi gặp khó khăn khi sắp xếp tất cả các phụ thuộc của bản dựng, vì vậy có thể mất nhiều thời gian hơn dự kiến.
Breakthrough

không có vấn đề xin vui lòng dành thời gian của bạn và cảm ơn bạn thể hiện sự quan tâm
user13267

Ổn thỏa, Bản vá được gửi cho các nhà phát triển Scintilla . Mặc dù vậy, tôi gặp rất nhiều khó khăn khi biên dịch phiên bản phân tán Notepad ++ của Scintilla. Tôi có thể biên dịch bản chính thức, nhưng khi tôi thay thế SciLexer.dll với phần được biên dịch của tôi, tô sáng cú pháp của Notepad ++ không hoạt động (hay đúng hơn là rất ít "tính năng" làm). Trừ khi tôi có thể biên dịch phiên bản NPP của Scintilla, tôi sợ bạn sẽ phải đợi cho đến khi phiên bản NPP tiếp theo (thường có phiên bản Scintilla mới nhất) ra mắt.
Breakthrough

Câu trả lời:


2

Thay đổi dòng mặc định trong tệp langs.model.xml đến <Language name="matlab" ext="m" commentLine="%" commentStart="%{" commentEnd="%}"> sẽ thực hiện các mẹo. Nhưng nó sẽ không hoạt động vì notepad ++ sẽ phù hợp với % trong %{ là sự khởi đầu của một bình luận dòng đơn và không cố gắng khớp nó cho một bình luận đa dòng. Cũng vậy %}

Xin lỗi để cung cấp cho bạn một giải pháp sẽ không hoạt động: - /


Vì vậy, điều đó có nghĩa là tôi cần phải làm một cái gì đó như biên dịch lại Notepad ++ để có được tính năng này? Làm như vậy sẽ khả thi?
user13267

1
Điều đó có thể giúp. Nếu bạn thay đổi thứ tự trong đó notepad ++ phân tích tệp văn bản (phân tích từ vựng / ngữ pháp). Nhưng đó không phải là lĩnh vực chuyên môn của tôi.
Lord Loh.

1
@ user13267: Tôi cũng có thể đề nghị bạn báo cáo điều này với các nhà phát triển. Họ có thể sửa đổi mã. Điều này sẽ có lợi cho tất cả mọi người và bạn sẽ không phải vá và biên dịch mọi phiên bản họ phát hành.
Lord Loh.

Tôi không có thông tin đăng nhập của mình, nhưng đây là liên kết báo cáo lỗi. Vấn đề tương tự đối với bình luận CoffeeScript (#) so với bình luận khối (###).
Cees Timmerman

2

Notepad ++ dựa trên Thành phần chỉnh sửa mã Scintilla , vì vậy đó là một phần của ứng dụng bạn sẽ cần cập nhật. Tôi đã xem qua mã nguồn và thấy rằng lý do chính là LexMatlab.cxx tập tin chỉ chứa mã để xử lý bình luận nội tuyến, không chặn bình luận.

tôi có gửi một bản vá đối với dự án Scintilla SourceForge, vì vậy nó sẽ được khắc phục sớm liên quan đến Scintilla. Như tôi đã đề cập trong các nhận xét, tôi gặp khó khăn khi biên dịch Scintilla kèm theo Notepad ++, vì vậy trừ khi tôi có thể tiếp tục, bạn có thể phải đợi cho đến khi phiên bản tiếp theo của NPP được phát hành (bao gồm cả Scintilla được cập nhật).


Tôi đã kiểm tra trang web của bạn tại bcastell.com/tech-articles/ trong đó bạn đề cập rằng tính năng này đã được thêm vào tháng 4 năm 2013 và vì vậy tôi đã tải xuống phiên bản Notepad 6.4.4 mới nhất và cài đặt nó trên phiên bản cũ hơn, nhưng nó vẫn không làm nổi bật các bình luận khối Matlab. Tôi có cần phải làm gì khác ngoài việc cài đặt notepad ++, để tính năng này hoạt động không?
user13267

@ user13267 sự cố đã được khắc phục cho Scintilla , được Notepad ++ sử dụng để cung cấp mã tô sáng. Có thể Notepad ++ vẫn đang sử dụng phiên bản cũ (ổn định) mà không có thay đổi. Nếu đây là trường hợp, bạn có thể cố gắng tự biên dịch Notepad ++, thay thế phiên bản Scintilla đi kèm bằng mã nguồn mới nhất. Ngoài ra, bạn có thể thử chỉ áp dụng bản vá mà tôi đã đăng lên dự án Scintilla SourceForge trên phiên bản kèm theo mã nguồn Notepad ++ và biên dịch nó từ đó.
Breakthrough
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.