tôi có các dòng sau trong tôi ~/.emacs.d/init.el
Emacs: gây phiền nhiễu Flymake hộp thoại
(custom-set-variables
'(flymake-allowed-file-name-masks
(quote
(
("\\.cc\\'" flymake-simple-make-init)
("\\.cpp\\'" flymake-simple-make-init)))))
(add-hook 'find-file-hook 'flymake-find-file-hook)
Khi tôi mở một C++ tập tin mà có một Makefile thích hợp trong cùng một thư mục, tôi nhận được on-the-fly biên soạn và lỗi báo cáo (Flymake sẽ kiểm tra cú pháp và báo cáo lỗi và cảnh báo trong khi chỉnh sửa mã).
Các Makefile có một mục tiêu check-syntax
:
.PHONY: check-syntax
check-syntax:
$(CXX) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)
Vấn đề là khi tôi mở một file .cc mà không có Makefile tương ứng tôi nhận được một hộp thoại cảnh báo gây phiền nhiễu mà tôi về flymake bị vô hiệu hoá.
Vì vậy, nếu tôi khởi động emacs *.cc
trong một thư mục với các file 20 C++ tôi nhận được 20 modal hộp thoại nói cái gì đó như Không buildfile tìm thấy cho [...]. Flymake sẽ bị tắt.
Có móc nào tôi có thể sử dụng để tắt cảnh báo đó không? Bạn có thể cung cấp mã elisp mẫu và giải thích về cách bạn tìm thấy móc phù hợp không?
Tôi sẽ ghi đè hàm bằng 'defadvice' thay vì' defun', vì trước đây rõ ràng tuyên bố ý định của bạn để ghi đè hàm, và nó cũng hoạt động ngay cả khi flymake được nạp lại sau. –
vì nó sẽ không chính xác tương đương (ví dụ 's/defun/defadvice /' không phải là sufficent), bạn có thể đăng nó như là một câu trả lời @RyanThompson – ocodo